Изменяем отображение views в зависимости от его количества результатов

Переопределить настройки отображения модулем views результатов выборки можно используя hook_views_pre_render.
Он вызывается после формирования вьюсом запроса к базе данных , но перед тем как результаты отрендерились.

Рассмотрим пример представления, которое выводит ноды с помощью формата строк (row plugin) "Готовая к выводу сущность".

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


function mymodule_views_pre_render(&$view) {
  if ($view->name == 'view_name') {
    $result = count($view->result);
    if ($result == 1) {
      $view->style_plugin->row_plugin->options['view_mode'] = 'full';
    }
  }
}