Submitted by davidm on
Comme j'ai été confronté à ce problème et que je suis tombé après quelques recherche sur un post de blog qui résoud le problème des doublons dans les vues pour des champs avec valeurs multiples (dans mon cas comme celui de l'auteur, un évévenement avec répétition) j'en profite pour partager avec vous ce petit module qui n'est pas sur drupal.org.
Le billet (et le code du module) se trouve ici :
http://capellic.com/blog/cure-duplicate-nodes-in-a-view
Je traduit la partie qui vous intéresse :
Tout d'abord, créez un répertoire nommé 'viewsremoveduplicates' dans le répertoire sites/all/modules/
Vous allez devoir créer deux fichiers :
1) viewsremoveduplicates.info
Code ici : http://capellic.com/blog/cure-duplicate-nodes-in-a-view
2) viewsremoveduplicates.module
Code ici : http://capellic.com/blog/cure-duplicate-nodes-in-a-view
Je n'ai pas inclu le code dans ce post parceque l'auteur a déjà fait une MAJ de celui-ci et je pense qu'il est plus pertinent de pointer vers son site.
Voilà j'espère que cela vous aura rendu un aussi grand service qu'à moi !
Merci à Stephen Musgrave !!!
ATTENTION : Ce module résoud le problème des doublons mais comme indiqué dans le billet de Stephen, les paramètres "limit" et "paging" sont affectés : i.e Views calcule le nombre d'éléments affichés sans tenir compte des doublons supprimés... Il serait intéressant que son module soit intégré dans Views afin de résoudre ce problème de doublon...
Bonjour je tombe sur ce post
Permalien Soumis par Amogiz le 28 Novembre, 2011 - 18:33
Bonjour je tombe sur ce post qq années plus tard et j'ai le même soucis mais sur Drupal 7.
ça m'aiderait vraiment d'avoir la solution car là mon site est immontrable …
Merci
Je me suis retrouvé aussi
Permalien Soumis par supernoob le 25 Juin, 2012 - 20:37
Je me suis retrouvé aussi bloqué par ce problème.
Voici ma solution pour drupal 7 et views 7.x-3.3, j'ai adapté avec ce que j'ai trouvé comme doc pour qu'il affiche bien le bon nombre d'éléments par page (soyez indulgent, j'ai que 2 semaines sur ce cms):
Pour viewsremoveduplicates.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 = 7.x
dependencies[] = views
Pour viewsremoveduplicates.module :
<?php
function viewsremoveduplicates_views_pre_execute(&$view){
if($view->name=="recherche_dessin") {
$view->build_info['query']->groupBy('nid');
drupal_set_message($view->build_info['query']);
}
}
Bien sur, $view->name vous le remplacez par les noms des views que vous voulez trier, et groupBy pour trier le champ qui vous interesse...