Вывод похожих материалов

Главные вкладки

Аватар пользователя xox xox 6 сентября 2013 в 4:16

Люди, я пользуюсь вот этим скриптом для вывода похожих материалов от xandeadex.

 function [THEMENAME]_preprocess_node(&$vars) {
  if (!$vars['page'] || !$vars['node'] || !isset($vars['field_tags']) || !count($vars['field_tags'])) {
    return;
  }
 
  $tids = array();
  foreach ($vars['field_tags'] as $tag) {
    $tids[] = $tag['tid'];
  }
 
  $query = db_select('node', 'n');
  $query->fields('n', array('nid', 'title'));
  $query->addExpression('COUNT(*)', 'hits');
  $query->leftJoin('taxonomy_index', 'ti', 'n.nid = ti.nid');
  $query->condition('n.type', $vars['type']);
  $query->condition('n.status', NODE_PUBLISHED);
  $query->condition('ti.tid', $tids, 'IN');
  $query->condition('n.nid', $vars['nid'], '<>');
  $query->groupBy('n.nid');
  $query->orderBy('hits', 'DESC');
  $query->orderBy('n.created', 'DESC');
  $query->range(0, 3);
 
  $vars['content']['similar'] = node_title_list($query->execute(), 'Похожие материалы');
  $vars['content']['similar']['#weight'] = 2;
}

Всё бы хорошо, но меня очень сильно/безумно/дико достал этот ворнинг:

Undefined index: field_janr в функции start_preprocess_node() (строка 3 в файле .../sites/all/themes/start/template.php)

Когда я спросил, как его убрать, xandeadex ответил, что надо сделать проверку на наличие поля и кинул мне вот эту бяку:

 if (isset($vars['field_tags']))

А вот куда именно её вставлять, этот гад уважаемый человек не объяснил, сказав что-то типа - кто не знает PHP, тот идёт нацензура.

Надеюсь, хоть на этом форуме есть добрые люди, которые помогут мне с этим разобраться.

Комментарии

Аватар пользователя xox xox 6 сентября 2013 в 10:18

C помощью Вьюса не получилось. И так и сяк катал-валял - не выходит.
similar by terms пробовал - тоже косяков с ним много. Да и заморочный модуль - под него надо отдельно регион создавать.
Снипет работает хорошо, но этот ворнинг сводит все его плюсы на нет. Хотел уже, было, его задисплейнонить, но ведь так и все остальные системные ворнинги будут скрываться, а они нужны. Да и не кошерно это.