Scroll
Views как убрать дублирование нод, когда используются поля со множественными значениями
Недавно выводил список компаний через VIews и почему-то Views выводил по 1-3 одинаковых записи, что довольно-таки странно. Ну что же попробывал удалить фильтры, сортировки, но все равно дублирует. Проблема в том что ноды имели поле даты со множественным значением. И эти ноды компаний дублировались. Ниже решение моей, а возможно и вашей проблемы дублирования во Views:
Создаем новый модуль, у меня это будет sitemade. Содержимое файла sitemade.info:
name = Views Remove Duplicates description = Removes duplicate nodes. Requires editing the module file to identify the views you want to affect. package = "Views" core = 6.x dependencies[] = views
Дальше создаю файл sitemade.module:
<?php function sitemade_views_pre_render(&$view){ $used_nids = array(); if ($view->name == 'companies'){ if ($view->current_display == 'page_1'){ foreach ($view->result as $row){ if (!in_array($row->nid, $used_nids)){ $new_view_result[] = $row; $used_nids[] = $row->nid; } } $view->result = $new_view_result; } } }
Где 'companies' - имя моего View, а 'page_1' имя дисплея страницы моего вью. После этой вставки ноды во вью не дублировались.
Это решение на английском, а также другие решения этой проблемы я нашел здесь: