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

Настройка Views

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

1. Создание нового блока Views:


/**
 * Implements hook_views_data().
 */
function mymodule_views_data() {
  $data['my_table']['table']['group'] = t('My Module');

  $data['my_table']['table']['base'] = array(
    'field' => 'id',
    'title' => t('My Table'),
    'help' => t('My custom table.'),
  );

  $data['my_table']['table']['join']['my_other_table'] = array(
    'left_field' => 'id',
    'field' => 'id',
    'extra' => array(
      0 => 'left',
    ),
  );

  $data['my_table']['my_field'] = array(
    'title' => t('My Field'),
    'help' => t('My custom field.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
    'argument' => array(
      'handler' => 'views_handler_argument_string',
    ),
  );

  return $data;
}

2. Редактирование существующего блока Views:


/**
 * Implements hook_views_pre_view().
 */
function mymodule_views_pre_view(&$view, &$display_id, &$args) {
  if ($view->name == 'my_view' && $display_id == 'page_1') {
    // Add a field to the existing block.
    $view->display_handler->get_plugin('block')->options['fields']['my_field'] = array(
      'id' => 'my_field',
      'table' => 'my_table',
      'field' => 'my_field',
      'label' => t('My Field'),
    );
  }
}

Примеры команды кода

Ниже приведены примеры команды кода в Drupal, которые могут быть использованы для отображения нужных полей в блоке Views:

1. Вывести название ноды:


title; ?>

2. Вывести пользовательский поле:


field_custom_field[LANGUAGE_NONE][0]['value']; ?>

Дополнительные вопросы и ответы

1. Как настроить сортировку в Views?

Чтобы настроить сортировку в Views, вы можете перейти в раздел «Sort criteria» вашего блока Views и добавить новый критерий сортировки. Вы можете выбрать поле, по которому будет производиться сортировка, а также порядок сортировки (по возрастанию или убыванию).

2. Как добавить фильтр в Views?

Для добавления фильтра в Views, перейдите в раздел «Filter criteria» вашего блока Views и добавьте новый фильтр. Вы можете выбрать поле, по которому будет производиться фильтрация, и условие фильтрации (равно, не равно, больше, меньше и т. д.).

3. Как настроить аргументы в Views?

Для настройки аргументов в Views, перейдите в раздел «Contextual filters» вашего блока Views и добавьте новый аргумент. Вы можете выбрать поле, по которому будет производиться фильтрация, и способ передачи аргумента (через URL-путь, ID сущности и т. д.).