Views wie man Duplizierung von Nodes entfernt, wenn Felder mit mehreren Werten verwendet werden
Ich habe kürzlich eine Liste von Unternehmen mit Views ausgegeben, und Views zeigte aus irgendeinem Grund 1–3 identische Einträge an, was ziemlich seltsam war. Also habe ich versucht, Filter und Sortierungen zu entfernen, aber es wurde immer noch dupliziert. Das Problem war, dass die Knoten ein Datumsfeld mit mehreren Werten hatten. Und diese Unternehmensknoten wurden dupliziert. Nachfolgend die Lösung meines, und vielleicht auch Ihres Problems mit Duplikaten in Views:
Wir erstellen ein neues Modul, bei mir heißt es sitemade. Der Inhalt der Datei sitemade.info:
name = Views Remove Duplicates description = Entfernt doppelte Knoten. Erfordert das Bearbeiten der Moduldatei, um die Views anzugeben, die betroffen sein sollen. package = "Views" core = 6.x dependencies[] = views
Dann erstelle ich die Datei 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; } } }
Dabei ist 'companies' der Name meines Views und 'page_1' der Name des Seiten-Displays meines Views. Nach dieser Ergänzung wurden die Knoten im View nicht mehr dupliziert.
Diese Lösung ist auf Englisch, sowie weitere Lösungen für dieses Problem habe ich hier gefunden: