Scroll
Views kako ukloniti dupliranje nodova kada se koriste polja sa višestrukim vrednostima
Nedavno sam prikazivao listu kompanija preko Views i iz nekog razloga Views je prikazivao po 1-3 iste zapise, što je bilo prilično čudno. Pokušao sam da uklonim filtere i sortiranja, ali je i dalje duplirao. Problem je bio u tome što su node-ovi imali polje datuma sa višestrukim vrednostima. Zbog toga su se nodovi kompanija duplirali. Ispod je rešenje mog, a moguće i vašeg problema sa dupliranjem u Views:
Kreiramo novi modul, kod mene je to sitemade. Sadržaj fajla sitemade.info:
name = Views Remove Duplicates description = Uklanja duplikate nodova. Potrebno je uređivati fajl modula da biste odredili Views koje želite da promenite. package = "Views" core = 6.x dependencies[] = views
Zatim kreiram fajl 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; } } }
Gde je 'companies' ime mog View-a, a 'page_1' ime prikaza stranice u mom view-u. Nakon ove izmene nodovi u view-u se više nisu duplirali.
Ovo je rešenje na engleskom, kao i druga rešenja za ovaj problem možete pronaći ovde: