Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления.
Данная опция находится во вкладке ‘advanced’ вашего представления. Но в данной статье я покажу как изменить её программно перед рендерингом шаблона views.
Описанную выше настройку в конфигурации views нужно произвести, чтобы не потребовалось писать более сложный код.
Правка производится как hook_views_pre_render(&$view);
1 2 3 4 5 6 7 8 9 10 11 12 |
/** * Implements hook_views_pre_render(). */ function MODULENAME_views_pre_render(&$view) { switch ($view->name) { case 'VIEW_NAME': $view->display['DISPLAY_NAME']->handler ->handlers['empty']['area'] ->options['content'] = '<div>NO RESULT TEXT</div>'; break; } } |
Элементы, выделенные заглавными буквами, замените согласно тому, что есть у вас.
DISPLAY_NAME — обычно это ‘default’, если вы не создавали разные виды ‘display’ для представления. Можете взять нужные имена из URL при редактировании вашего представления.
/admin/structure/views/view/VIEW_NAME/edit/DISPLAY_NAME