Drupal → Программно добавить шапку или подвал в представление

10.12.2014

Пример добавления в представление my_view шапки типа Global: Text area и подвала типа Global: Unfiltered text:

/**
 * Implements hook_views_pre_view().
 */
function MODULENAME_views_pre_view($view, &$display_id, &$args) {
  if ($view->name == 'my_view' && $display_id == 'page') {
    $view->add_item($display_id, 'header', 'views', 'area', array('content' => 'Header text...', 'format' => 'full_html'));
    $view->add_item($display_id, 'footer', 'views', 'area_text_custom', array('content' => 'Footer text...'));
  }
}

В hook_views_pre_render() манипулировать шапкой и подвалом не получится. Но можно изменять атачи:

/**
 * Implements hook_views_pre_render().
 */
function MODULENAME_views_pre_render($view) {
  if ($view->name == 'my_view' && $view->current_display == 'page') {
    $view->attachment_before = 'Header text...';
    $view->attachment_after = 'Footer text...';
  }
}
Написанное актуально для
Views 3
Похожие записи

Комментарии

Гость
11.12.2015, 09:38

А можно ли таким образом добавить сущность, и передавать ему значение из URL?

Как оказалось, содержимое поля 'content' перед выводом пропускается через t(), что при наличии переменных приводит к раздуванию таблицы locales_source.
Как правильно добавить шапку с переменными используя данный пример?

Добавить комментарий