Разные типы 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 24, 2017 г.
Если вы практикуете вызов и рендеринг объектов views из кода, то возможно вам пригодится следующий пример задания значения контекстного фильтра напрямую из вашей программы.
Программное задание значений фильтров я уже рассматривал ранее. Принцип ...
Читать
Февраль 8, 2024 г.
Drupal 10 добавил в ядро модуль wysiwyg CKEditor 5. Т.е. уже из "коробки" у вас есть редактор html кода.
API CKEditor 4 и 5 версий значительно отличаются, ...
Читать
Март 2, 2017 г.
Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами.
Первый вариант почти всегда выглядит неказисто, ...
Читать
Январь 21, 2019 г.
Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить?
Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок).
Необходимость возникает из-за того, ...
Читать