Категория:
Опубликовано:

Создание собственных View Modes

View Modes Drupal

View Mode (они же дисплеи) - это режимы отображения сущностей.

Наверняка Вы встречали их в материалах ("Содержимое полностью", "Анонс / Тизер", "RSS", "Токены"...)

Их очень удобно использовать, например задать отображение для тизеров и выводить их в каждом представлении, чтоб не тыкать каждый раз поля.

Ниже рассмотрим как можно добавить собственные View Modes.

Программное создание View Modes

Программно добавить свой дисплей можно с помощью хука hook_entity_info_alter():

/**
 * Implements hook_entity_info_alter()
 */
function ИМЯ_МОДУЛЯ_entity_info_alter(&$entity_info){
  $entity_info['ИМЯ_СУЩНОСТИ']['view modes']['ИМЯ_ДИСПЛЕЯ'] = array(
    'label' => t('НАЗВАНИЕ_ДИСПЛЕЯ'),
    'custom settings' => TRUE,
  );
}

Например, добавим новый View Mode для пользователя:

/**
 * Implements hook_entity_info_alter()
 */
function mymodule_entity_info_alter(&$entity_info){
  $entity_info['user']['view modes']['new_view_mode'] = array(
    'label' => t('New View Mode'),
    'custom settings' => TRUE,
  );
}

И все, на странице управления отображением сущности появится новый дисплей.

Cоздание View Modes в Display Suite

Если у Вас установлен Display Suite - поздравляю! С его помощью можно легко создавать View Modes.

Просто перейдите в Структура » Display Suite » вкладка "Способы вывода" (admin/structure/ds/view_modes), и добавьте новый:

Добавить View Mode

На странице создания дисплея заполняем Имя и Машинное имя создаваемого View Mode, а так же отмечаем сущности, в которых он будет доступен:

Создание View Mode

И все, результат можно посмотреть на странице настройки отображения пользователей. Предварительно нужно включить новый дисплей:

Включение дисплея

Теперь дисплей готов к настройке:

Новый Дисплей

Cоздание View Modes в Entity view modes

Конечно же для Drupal есть альтернативные модули, как и в большинстве случаев.

Специализированный модуль для создания дисплеев - Entity view modes.

Он подойдет если Вы не хотите использовать тяжеловесов вроде "Display Suite".

Качаем его и устанавливаем, как обычно. Включаем.

Переходим "Управление » Конфигурация » Система » Entity view modes" (admin/config/system/entity-view-modes).

На странице находится список всех имеющихся дисплеев, для каждой из сущностей и их настройки.

Для добавления нового жмем "Добавить новый режим отображения", внизу, для нужной нам сущности:

Добавить новый дисплей

В настройках указываем Имя и Машинное имя, можем скопировать настройки в этот дисплей из дефолтного и включить новый дисплей в существующих словарях.

Создание нового View Mode

Задаем все настройки по своим потребностям, сохраняем и радуемся новому, собственному режиму отображения.

Вот так можно добавить свой режим отображения сущности в Drupal.

Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.
Добавить комментарий