При создании сайта на Drupal, использование модуля Views может быть неотъемлемой частью работы. Views предоставляет возможность создавать, изменять и управлять списками данных, и является одним из самых мощных и гибких модулей Drupal. В этой статье мы рассмотрим основы использования Views в модуле Drupal, а также приведем несколько примеров программного кода.

Установка и настройка Views

Для начала работы с модулем Views необходимо установить его. В Drupal 8 и выше Views является частью основной установки, поэтому его необходимо активировать. В Drupal 7, вам потребуется установить модуль Views через интерфейс администратора или через Drush.

После активации модуля Views, вы сможете создавать и настраивать свои собственные представления. Для создания нового представления перейдите в административное меню вашего сайта и выберите «Structure» -> «Views» -> «Add new view».

Пример программного кода


use Drupal\node\NodeInterface;

function MYMODULE_views_pre_render(\Drupal\views\ViewExecutable $view) {
  // Меняем отображение только для определенного представления.
  if ($view->storage->id() == 'my_view') {
    // Изменяем заголовок представления.
    $view->setTitle('Новый заголовок представления');
    
    // Изменяем условия фильтрации.
    $view->setDisplayFilters([
      'type' => [
        'value' => 'article',
      ],
    ]);
    
    // Добавляем пользвательское поле в представление.
    $view->addField(NULL, 'field_user', 'user', ['label' => 'Автор']);
  }
}

Вопросы и ответы

1. Как добавить новое поле в представление?

Чтобы добавить новое поле в представление, вы можете использовать функцию addField. Ниже приведен пример добавления поля с именем «Автор».


$view->addField(NULL, 'field_user', 'user', ['label' => 'Автор']);

2. Как изменить заголовок представления?

Чтобы изменить заголовок представления, вы можете использовать функцию setTitle. Ниже приведен пример изменения заголовка на «Новый заголовок представления».


$view->setTitle('Новый заголовок представления');

3. Как изменить условия фильтрации в представлении?

Чтобы изменить условия фильтрации в представлении, вы можете использовать функцию setDisplayFilters. Ниже приведен пример изменения условия фильтрации по типу содержимого «article».


$view->setDisplayFilters([
  'type' => [
    'value' => 'article',
  ],
]);