Разные типы 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 4, 2025 г.
Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...
Читать
Апрель 6, 2021 г.
У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...
Читать
Апрель 3, 2024 г.
Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него.
Проблема:
Создано представление (view), где источник данных - элементы datasource Search API. ...
Читать
Май 6, 2017 г.
Я нашел некоторые особенности того примера, что я давал вчера. Потому я решил немного ещё поэкспериментировать, чтобы дать более качественное решение. ...
Читать