naviguer dans une taxonomie (avec views)

Version de views : 7.x-3.8

On a un vocabulaire à 4 ou 5 niveaux de hiérarchie. On va créer une page test-tags-tek qui:

  • au 1er affichage affiche
    • en haut les termes qui sont juste sous un certain terme (ici "tek" qui a l'ID 148 -on y verra par ex drupal mais pas drupal 7 qui est plus bas).
    • en bas des titres de contenus (en bas de liste, certains ne portent PAS ce terme)
  • En cliquant en haut sur le tag "drupal", on voit en haut les termes fils de drupal, dans l'URL l'id du terme drupal

Utilisation de rewrite result et token (sur le field "terme taxo:nom": test-tags-tek/[tid]).
Avec un vocabulaire hierarchique et i18n, on retrouve des articles qui ne devraient pas y être.

Source: #6 de http://drupal.stackexchange.com/questions/36217/clean-way-of-building-si...

Créer une vue de type taxonomie, en mode page

Format Grille, afficher Fields. Filter criteria: choisir le vocabulaire. Choisir un chemin (path-you-set-in-view), sauver.filtre contextuel de Views: on définit l'ID du terme parent

Ajouter le Contextual filters

de type Taxonomy term: Parent term
Partie "Quand le filtre n'est pas dispo", donner la valeur par défaut, de type fixe:
148 est l'ID du terme parent (tek)

Fields

ajouter l'ID du terme et l'exclure de l'affichage

Sur le nom du terme, décocher "Link this field to its taxonomy term page" pour plus bas, partie REWRITE RESULT path-you-set-in-view/[tid]

Si on ne voit pas tid dans les tokens dispo, déplacer ID contenu en 1er (liste fileds).

Afficher les termes en bas avec un bloc: Créer un bloc

Effacer pour le bloc seul le filtre contextuel et les 2 champs (nom et id)

Ajouter le filtre contextuel Taxonomy term: Term ID
et la relation Taxonomy term: Content with term

Partie Field, ajouter le titre du contenu (lié au dit contenu par défaut).
Ajouter une pagination.  Inherit contextual filters OUI Sauver

Retourner sur la page pour ajouter, sur cette page seule, en entete ou en pied de page un champs ; filtrer sur global et choisir Global: View area Récupérer le bloc créé en pied de page de la view- attention, modifier la liste For (de "all display" à "This block (override)") pour cette page seule.

Inherit contextual filters

 

Note i18n

Les contenus traduits apparaissent en double.

Source: http://drupal.stackexchange.com/questions/36217/clean-way-of-building-si...

 

 

 

notes sur rewrite result et tokens disponibles

Replacement patterns

The following tokens are available for this field. Note that due to rendering order, you cannot use fields that come after this field; if you need a field not listed here, rearrange your fields. If you would like to have the characters '[' and ']' please use the html entity codes '%5B' or '%5D' or they will get replaced with empty space.

  • [name] == Terme de taxonomie: Nom
  • %1 == Terme de taxonomie: Terme parent title
  • !1 == Terme de taxonomie: Terme parent input