2009-12-14 5 views
0

Avec CCK, j'ai ajouté un champ au type de nœud de base "Page" appelé "Type de ressource". Vous pouvez choisir parmi quatre types de ressources possibles, dans une liste déroulante "Formation, Actualités, Recherche, Outils".Drupal: Groupement de vues Problème

J'ai créé une vue qui doit regrouper les noeuds selon leur type de ressource. J'ai créé 8 nœuds, dont 6 sont de type "Training", 1 est de type "Tools" et 1 est de type "News". Drupal est fournir en sortie les éléments suivants:

Training 
- Training Node 1 
- News Node 1 
- Tools Node 1 
- Training Node 2 
- Training Node 3 

Tools 
- Training Node 4 

News 
- Training Node 5 

Research 
- Training Node 6 

Lorsque je l'ai testé avec seulement 1 nœud par type de ressource, il affiche comme prévu:

Training 
- Training Node 1 

Tools 
- Tools Node 1 

News 
- News Node 1 

j'ai vu l'autre affichage où le module Devel peut bousiller la sortie , mais je vois ce qui précède alors que l'utilisateur est déconnecté (et donc Devel est désactivé pour les utilisateurs anonymes).

Une idée de ce qui pourrait mal se passer? Ma vue est définie comme étant une "liste HTML", regroupée par "Type de ressource".

+0

À votre avis, avez-vous le « Groupe plusieurs valeurs » est cochée sur le champ titre (ou quel que soit le terrain est outputing « Noeud de formation 1 », etc.)? Décocher cela peut vous donner les résultats souhaités, mais je ne peux pas dire avec certitude que je n'ai pas testé votre configuration. – jhedstrom

+0

@jhedstrom J'ai regardé mes paramètres et je n'ai pas vu cette option. J'ai regardé chaque champ pour voir si je pouvais trouver ce paramètre, mais je ne l'ai vu nulle part. Vous dites qu'il devrait apparaître lorsque vous cliquez sur un élément dans la section "Champs" d'une vue? "Node: title" est le champ qui est en cours de production pour "Training Node 1", etc. Merci pour le commentaire, mais je n'arrive pas à trouver le réglage. Pourrait être erreur de l'utilisateur si :) – Carl

Répondre

1

Pas sûr à 100%, étant donné que je n'ai pas votre configuration pour faire des tests, mais il semble que vous connaissiez this issue. Sur le commentaire # 16 Merlin de Chaos (l'auteur des vues) fournit un patch que les commentaires suivants semblent confirmer comme "fonctionnant".

Si ce n'est pas le cas, une solution de contournement pourrait être pour vous de trier les nœuds au lieu de les regrouper. Vous pouvez ajouter l'en-tête de regroupement en transmettant au modèle également la valeur du type de nœud: vous ajouterez ensuite l'en-tête avec le type de contenu en comparant avec le précédent. En pseudo-code:

$type_in_use = 'xxx' 
if $type_of_next_node != $type_in_use then 
    $type_in_use = $type_of_next_node 
    print_header($type_in_use) 

Juste une solution de contournement inélégante, mais devrait fonctionner!

HTH

+0

J'apprécie la réponse. Je sais qu'il est difficile de déboguer complètement dans le noir. En ce qui concerne votre premier commentaire - j'utilise la dernière version de développement 6.x-3.0-alpha1 et selon les commentaires de rapport de bogue auxquels vous étiez lié, le patch répertorié a été appliqué à toutes les branches. J'ai essayé d'appliquer le patch de toute façon, mais pas de chance. Je vais essayer votre deuxième suggestion, juste pour voir où cela me mène. Je rapporterai ici si tout va bien, et marquer ceci comme étant répondu. Merci encore! – Carl

+0

Hmm, maintenant je suis confus. Je modifiais mes fichiers modèles, regardais ma liste, puis je me déconnectais. Une fois déconnecté, la vue s'est bien rendue! Je n'ai rien changé non plus, sauf pour ajouter une certaine logique pour limiter le nombre d'éléments sortis par groupe. Si étrange! J'imagine que votre deuxième solution fonctionnerait, alors je vais la définir comme une réponse, et passer à autre chose. Merci pour votre temps! – Carl