Създаване на персонализиран приставка стил - Theming гледка в Drupal 8

Прегледи модул (представителство) е компонент на ядрото Drupal 8. знаете за всичко това днес. Клонка - нов шаблон двигател в Drupal 8. Това е, което ние също вече е известно. Но как може да взаимодейства с програмно модулните възгледи, за да да се тема Виж използване клонка? В допълнение към припокриващи модели, както и в други модули на системата, ние имаме по-мощна алтернатива под формата на плъгини Прегледи (Display, стил, ред и на място).

В тази статия ще разгледаме как да създадете Drupal 8 Style Plugin за изгледи. Ние използваме маркиране фърмуера раздели и приложи раздели заключение нашите резултати изгледи. В конфигурацията на Прегледи, настройките на стила ни позволяват да се определи коя област ще бъде използван като копие на табове навигация, и оставя видими в разделите останалите полета. По принцип, всеки резултат ще бъде Преглед на раздела, така че този пример не е подходящ за презентации с прекалено много резултати. Нашата цел - да се демонстрира процеса на създаване на собствен стил плъгин в Drupal 8.

Какво е приставка Style?


Стил плъгин е отговорен за предаването на списъците. Очевидните примери Style плъгини са неформатиран списък. HTML списък. Таблица или Решетка. Тяхната дисплей използва плъгин, а те от своя страна да използва Row плъгини, които представляват един елемент от списъка.

В Drupal 8, гледка към всички видове плъгини, построени с помощта на новата приставка за системата и да имат обща функционална (те са наследени от един и същ PluginBase).

Нека създадем една и съща Style тапа, която може да се използва от повечето видове дисплей (Page, блок, и т.н.) и който използва щепсел Field.

Стил Tabs плъгин за първоначално зареждане


Първата стъпка - е създаването на нашата приставка клас Plugin / възгледи / стил на нашата папка модул:


Drupal плъгин, който ще създаде - е ViewsStyle с някои от основния ми данни за това, преминал в резюмето. Да не говорим за най-очевидните данни, ние имаме една тема и ключови думи display_types. Заслужава да се отбележи. Тема декларира какво функция теми ще използват данните плъгини и display_types обявява какви приставки, които могат да бъдат използвани Стил на показване (в този случай, всички видове дисплей, освен ако не е посочено друго: нормално). Ако искате да научите повече информация за всички възможни конфигурации, Анотация, разгледайте Drupal \ гледания \ Анотация \ ViewsStyle клас Анотация.

Използването на два имота за този клас, обявихме, че приставката ни използва Row плъгини, но не позволява групиране. Уверете се, че сте проверили всички майка и се вземат предвид други подобни опции. Например, един клас, който наследяваме, вече обяви, че възгледите на полета може да се използва с приставка стил.

Както казахме по-рано, като се използват два метода, ние създаваме възможност плъгин и елемент от формуляр, който може да се определи коя област трябва да бъде използвана като навигация разделите. С помощта на манипулатора на текущото състояние ($ това-> displayHandler), ние може да се зареди всички налични полета гледка, която се добавя софтуер двигател. И тази нова форма позиция ще бъде на разположение под формата на настройките на стил:

Създаване на персонализиран приставка стил - Theming гледка в Drupal 8

Защото ние наследяваме от StylePluginBase клас. Вече не трябва да правите нищо. За да се покаже маркирането можем да разчитаме на demo_bootstrap_tabs. който получава съответните променливи с изпълнението на View. Ако силно искате да, ние можем да се предефинират методите и добавяне на повече променливи, за да смени темата и т.н. Но настройките по подразбиране, ние сме перфектни, особено защото ние прилагаме препроцесор за обработка на променлива, която получава на шаблона.


Това е време да се определят подлежат demo_bootstrap_tabs. как правим това обикновено (в нашия .module файл):


По подразбиране Стил плъгин изпраща изгледа на шаблон обект $ и резултатът е $ редове. Обработката на тези променливи (ако е необходимо), преди да се прехвърли на модела - тази работа предпроцесорни.


Какво става тук? Първо, ние проверете настройките за стил плъгин за това дали е бил използван от името на полето (този, който е бил избран при конфигуриране на изгледа). Ако не е, което наричаме отчета за връщане, но само след като Препроцесорът изпълнява template_preprocess_views_view_unformatted функция. Освен това, в съответствие с възгледите на резултати минава през един цикъл, и, като резултат, масив от съдържание за нашия табове навигация. За да направите това, ние използваме нишките views_view_field за прехвърляне на избраното поле. И накрая, ние мине шарката на масив и тичам предпроцесорни неформатиран списък стил.


В Drupal 8 е вече не функционира, така че сега всичко се обработват в Twig шаблони. Нека да видим как файла демо-фърмуера-tabs.html.twig изглежда в нашата папка модул шаблони:


Както можете да видите, че е необходимо маркиране за фърмуера раздели. Разбира се, че няма да работи, ако не сте изтеглили в съответните стилове тема фърмуера и скриптове.

Първото нещо, което се минава - тя посочва раздели за навигация (от нашата променлива НСА). Когато цикъл се изпълнява чрез масива, ние също се възползват от серията от стойностите на индекса, за да стане първият елемент активна по подразбиране и да са имали възможността да се насочите съдържанието на разделите на прозореца с помощта на уникалния идентификационен номер. Що се отнася до реалната стойност на елементите, ние просто се покаже предава масив, който е създаден в Препроцесорът и Drupal се занимава с това предаване. С оглед на изложеното по-горе, може би е добра идея да се уверите, че областта, която използвате понастоящем, сравнително кратко, без позоваване и основно оформление. Имена вероятно ще работи добре. Но тук е в подходящата Вижте конфигурация.

В долната част на навигацията, ние минаваме с изтекъл срок редове, като се използва един и същ индекс цикъл за да зададете по подразбиране на първия ред като активен раздела панел и уникален етикет тях, за да се създаде по-горе навигация може да контролира тяхната видимост. Що се отнася до съдържанието, ние даваме напълно променливо row.content (който се получава в рамките на template_preprocess_views_view_unformatted), в който всички от нашата област Вижте съхраняват. И ако ние не искаме да се включат поле, което ние се използва за навигация, можем просто да го отстранят от показващ Вижте конфигурация. В това поле трябва да продължи да се появи в навигацията (защото ние го сложите там), но няма да се показва в основния раздел бара.

заключение


Е, това е всичко. Прегледи Style плъгин за показване на резултатите Преглед на фърмуера раздели. Всичко, което се нуждаем сега, - е да се уверите, че фърмуера зависимост свален и конфигуриран за нашия Вижте Style щепсел. Имайте предвид, че този метод не е подходящ за Прегледи с много резултати, и служи само като пример за създаване на стил плъгини.