Разные типы 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Август 1, 2026 г.
При разработке на Drupal рутинная необходимость это - добавление кастомной валидации для полей внутри сущностей. Стандартные средства Drupal (например, валидация через hook_form_alter) не всегда подходят, особенно когда нужно, чтобы валидация работала ...
Читать
Март 19, 2025 г.
Задача проста - есть материалы, у которых есть поле даты (timestamp), нужно вывести кнопки фильтрующие список по годам.
Дополнительно задача ...
Читать
Март 27, 2024 г.
Встретил такую ошибку в консоли pantheon.io сайта на Drupal.
Пантеон показывает копию статуса самого сайта, т.е. то, что вы видите на странице /admin/reports/status, но при этом не показывает подробностей. Из за этого сложно понять где и как решать ...
Читать
Март 3, 2024 г.
Мне нужен был обработчик для migration API, который создаёт media entity по URL и возвращает его ID.
Обработчики представляют из себя расширения ProcessPluginBase, которые нужно размещать в папке /src/Plugin/migrate/process вашего модуля.
Файл ...
Читать