web-dev-qa-db-fra.com

Comment regrouper des éléments dans une vue?

J'ai 8 articles: article 1 (jeux), article 2 (nouvelles locales), article 3 (nouvelles mondiales), article 4 (nouvelles mondiales), article 5 (jeux), article 6, article 7, article 8.

Dans une vue, je voudrais regrouper les articles par: "News", "Gaming" et "Other". Combiner le monde et les nouvelles locales sous une seule catégorie, et déplacer tout ce qui n'a pas de catégorie vers "Autre". Je ne voulais pas créer un nouveau vocabulaire uniquement pour cette vue. J'ai essayé d'accomplir cela en utilisant le groupe par champ, mais je ne peux pas comprendre comment je pourrais accomplir cela en utilisant cette méthode.

33
mstef

Dans votre type de contenu, vous pouvez créer un champ "liste" appelé, par exemple, Catégorie, avec les catégories News, Gaming et Other. Vous pouvez ensuite classer le contenu qui devrait apparaître dans votre vue à l'aide de ce champ.

Dans votre affichage, sous Format, choisissez "Paramètres". Il devrait y avoir une option pour choisir un champ de regroupement. Sélectionnez le champ "Contenu: Catégorie". Votre vue devrait maintenant apparaître groupée selon News, Gaming et Other.

Était-ce cela que vous aviez en tête?

UPDATE Ce qui précède n'était pas tout à fait ce que vous cherchiez. Aucun problème.

Vous dites que vous avez des articles comme l'article 1 (jeux), l'article 2 (nouvelles locales), l'article 3 (nouvelles mondiales), l'article 4 (nouvelles mondiales), etc. Est-il juste que le mot entre parenthèses soit un terme de taxonomie? Sinon, ce qui suit ne sera pas pertinent, mais je suppose que pour l'instant c'est le cas.

Si c'est le cas et que vous souhaitez "découper" ces termes en trois catégories, vous pouvez certainement modifier la requête Vues ou écrire la vôtre.

Alternativement (ce qui est probablement plus facile), vous pouvez changer votre vocabulaire existant en une taxonomie hiérarchique avec News comme super-catégorie et News locales et World News comme sous-catégories.

Alors maintenant, votre vocabulaire ressemble à:

Nouvelles

  • Nouvelles locales
  • Nouvelles du monde

Gaming

Autre

Si votre contenu était déjà balisé avec les catégories existantes, vous ne devriez rien changer.

Vous pouvez ensuite créer une vue qui affiche les champs souhaités. Ajoutez un filtre "Nom du terme" et saisissez "Actualités". Ensuite, ajoutez un affichage de pièce jointe et joignez-le à votre vue actuelle, en remplaçant le filtre et en le définissant sur "Jeux". Enfin, ajoutez une deuxième pièce jointe et remplacez le filtre, en le remplaçant par "Autre". Cela devrait vous donner le résultat souhaité.

15
g_thom

Vous pouvez également utiliser Vues distinctes . Ce module permet d'ajouter des relations ou d'autres jointures dans les vues, créant souvent des résultats "en double". Par exemple, un nœud avec un champ qui a plusieurs valeurs peut apparaître dans la vue une fois par valeur dans le champ à plusieurs valeurs.

3
heilop

Je suis tombé sur ce fil lors de la recherche d'une solution de regroupement, en utilisant Views ou Display Suite (D7). D'une manière ou d'une autre, je ne peux pas obtenir le groupe par la fonction g_thom mentionnée dans la section Format. Doit-il être là en D7? y a-t-il un sous-module dépendant des vues que je manque? De plus, dans Display Suite, il existe une fonction de regroupement, mais la seule option qui s'affiche est l'un de mes champs personnalisés que j'ai créés (je ne sais pas pourquoi celui-ci en particulier, pas un autre). Inutilisable dans un tel cas.

Mon objectif est de faire en sorte que les vues forment un bloc de liens (reliant à des nœuds de type personnalisé), regroupés par un terme de taxonomie (le terme doit être généré mais non lié à quoi que ce soit).

PS. respect à g_thom pour son aide élaborée!

2
Artur