Разные типы node view предназначены для темизации публикаций. Но drupal не даёт задавать новые представления из панели администрирования.
Рассмотрим как создавать их программно.
Чтобы в типах отображения публикации появилась новая (-ые) вкладки, требуется реализовать hook_entity_info_alter.
|
|
/** * Implements hook_entity_info_alter(). */ function MODULENAME_entity_info_alter(&$entity_info) { $entity_info['node']['view modes']['SYSTEM_VIEW_MODE_NAME'] = array( 'label' => t('New view mode'), 'custom settings' => TRUE, ); } |
Все типы публикаций тут же получат данный тип представления. И вы сможете настроить форматирование и набор полей для вывода в шаблон.
Заданное системное имя (то что вы напишите вместо SYSTEM_VIEW_MODE_NAME), будет присваиваться переменной $view_mode в шаблоне node.tpl.php.
Данная запись опубликована в 27.01.2018 17:04 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 3, 2024 г.
Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID.
Обработчики представляют из себя расширения ProcessPluginBase, которые нужно размещать в папке /src/Plugin/migrate/process вашего модуля.
Файл ...
Читать
Сентябрь 5, 2015 г.
Соответствующие системные названия регионов для вывода блоков можно подсмотреть в верстке. Ещё они явно прописаны в тестовой теме в модуле block.
...
Читать
Февраль 17, 2024 г.
Вы создали форму с полем типа file, и хотите сохранять файл как сущность друпала при отправке данных формы.
[crayon-699a6e3b82d28629123997/]
Обычно объявления форм в Drupal 8+ размещаются в виде расширений класса FormBase в каталоге модуля /scr/Form/*. ...
Читать
Май 16, 2024 г.
Порою требуется добавить свои классы в переменную attributes на уровне шаблона (в twig).
Переменная attributes - это объект Drupal\Core\Template\Attribute. У него есть нужный нам метод - addClass().
Пример использования:
[crayon-699a6e3b82eee979142159/]
Читать