View 3.8 - liste des termes sous drupal, drupal 6 et 7

Une vue de type taxonomie, avec une page (avec un filtre contextuel) puis un fichier attaché pour montrer les contenus associés en bas.

page

Lister des termes d'un vocabulaire, fils d'un terme donné ID1 ou ID2 ou ID3

Format: tableau

Noter dans la doc le chemin
entrée menu normale (View 3.8 - liste des termes sous drupal, 6 et 7), dans Navigation (agacant qu'on ne puisse pas choisir où, à part le poids)
Réservé à certains roles

Contextual filters : Terme de taxo: Terme parent
When the filter value is NOT in the URL
  val défaut de type 'fixed value' ID1+ID2+ID3
When the filter value IS in URL or default :
  validation via le voca avec 'Filter value type' à 'Term IDs separated by , or +'
Action to take if filter value does not validate : rien

PLUS cocher Allow multiple values

Fields: ID terme, terme avec réécriture chemin/[tid], langue du terme, edit Full pager, 10 item

 

Filtres: limité à un voca  et
on expose la langue du terme (limitée à 3 valeurs)

Views 3.8 configurer contextual filter: en bas le PLUS permet plusieurs valeurs de filtres (ou d'exclure des termes)

Views 3.8 : configurer un critère de filtre exposé, qui permet de choisir un terme dans une listeAvec une taxo suivante (aucun terme n'a plusieurs parents) on voit bien 9 termes. Les 1,2,3 et y mais pas les frères de 2 et 3 (sous x) ni les enfants de z. Bref, plutot adapté à un vocabulaire "plat".
A moins de placer le filtre contextuel de la page aux termes: drupal+core+drupal 6+drupal 7...
 ID1        (ici: drupal)
       IDx  (core)
            ID2, ID3 et autres sous IDx
       IDy
       IDz (qui a des enfants, ex: modules)

Note: Pour un vocabulaire hiérarchique, il est aussi possible mettre dans la page un critère de filtre (en bas gauche de views UI) exposé sur le terme (voir image de droite, qui montre en passant la hiérarchie du vocabulaire).
Sont cochées: Expose this filter to visitors, to allow them to change it , Allow multiple selections, Limit list to selected items  et Display error message.
Décochées: Expose operator, et Reduce duplicates.

 

Et ou ?!?

Si l'on modifie la fixed value à ID1,ID2,ID3, à priori pas de différence (on voit sur cette vue les memes 9 termes).
Théoriquement + est OR et , AND cool non?
Voir l'instructive page en anglais à https://www.drupal.org/node/1285012 qui indique que tout en bas de la conf des filtres contextuels, il faut ouvrir le plus qui affiche alors ce qu'on recherchait !  haaa drupal , ses multiples versiosn et ses options cachées...
Mais cela ne fonctionne pas: https://www.drupal.org/node/1762770
Voir http://drupal.stackexchange.com/tags/views-contextual-filters

Le sql généré (/admin/structure/views/settings  y cocher "Show SQL query")

Cas des virgules (KO) AND

LEFT JOIN {taxonomy_vocabulary} taxonomy_vocabulary ON taxonomy_term_data.vid = taxonomy_vocabulary.vid
LEFT JOIN {taxonomy_term_hierarchy} taxonomy_term_hierarchy ON taxonomy_term_data.tid = taxonomy_term_hierarchy.tid
WHERE (( (taxonomy_term_hierarchy.parent IN('151', '152', '153') ) )AND(( (taxonomy_vocabulary.machine_name IN  ('tags')) )))

Cas des + OU

LEFT JOIN {taxonomy_vocabulary} taxonomy_vocabulary ON taxonomy_term_data.vid = taxonomy_vocabulary.vid
LEFT JOIN {taxonomy_term_hierarchy} taxonomy_term_hierarchy ON taxonomy_term_data.tid = taxonomy_term_hierarchy.tid
WHERE (( (taxonomy_term_hierarchy.parent IN('151', '152', '153') ) )AND(( (taxonomy_vocabulary.machine_name IN  ('tags')) )))

Le fichier attaché

Pour qu'il fonctionne, il faut sur la view page modifier le lien sur le titre du terme, réécrire vers chemin/[tid] (correspond à 2e position dans URL vue).

Lister les contenus associés (fichier attaché)

Format: tableau

Attaché à : page crée
position: apres
héritage
 filtres contexte oui
 filtres exposés oui
Contextual filters : Terme taxo: ID terme

When the filter value is NOT available
  valeur par défaut de type
                 'raw value from URL' path 2
  (sans path alias)

Fields
contenu titre
(à faire après ajout relations car lié à la relation)

Relations: Terme: content with term
overrider, choix ID txt,
avec cochée '

note: si autre relation définie, une liste déroulante supplémentaire propose la relation crée précédement (voir image)

Views 3.8 : configurer des relations

No results behavior

Vérifier dans Other

  • le nom machine du fichier attaché est là
    Si on le renomme, la page perd l'info broken heart
  • le contenu de "link display" ("which display to use for path" Which display to use to get this display's path for things like summary links, rss feed links, more links, etc.)

Cela n'affiche rien - c'est normal. Pour un rapide apercu, mettre dans "Preview with contextual filters": les tID qu'on veux voir (ex:138)


Retourner sur la page, pour ajouter en pied de page la vue "Fichier attaché":
Choisir Global: View area pour récupérer le fichier attaché.