J'espère que quelqu'un pourrait m'aider à apprivoiser la bête connue sous le nom de filtres contextuels. :) J'ai une série de nœuds qui ont tous un terme de taxonomie spécifique qui leur est attribué (tous du même vocabulaire), mais pour mon chemin d'URL, je ne les inclue pas:
Par exemple:
Nom du vocabulaire = vidéos
Un nœud a des termes:
-food
--vegetable
---carrot
qui lui est assigné, mais la seule URL que je veux est:
site.com/videos/title-of-node
Et puis tous les autres nœuds qui ont des termes sur eux seront tous sous le répertoire "vidéos":
site.com/videos/title-of-another-node
site.com/videos/title-of-yet-another-node
J'ai créé une vue qui a un filtre contextuel où je veux afficher uniquement les nœuds qui ont le terme carotte. Et cela fonctionne parfaitement lors de la prévisualisation sur la page des vues, mais lors du chargement de la page réelle, j'obtiens une liste de TOUS les nœuds sous le terme "food" car j'ai "WHEN THE FILTER VALUE IS = PAS DANS L'URL -> Afficher tous les résultats pour le champ spécifié "
Je pense que mon principal problème est que "les valeurs de filtre contextuel sont fournies par l'URL". Et mes conditions ne sont pas dans l'url. Donc, d'une manière ou d'une autre, je dois extraire les termes associés à chaque nœud.
Toute aide serait très appréciée!
Au lieu de créer une vue de nœud, créez une vue de taxonomie.
En cela fournissent deux relations:
Tu es prêt.
EDIT: Conformément à la discussion, il était également nécessaire d'afficher les nœuds sous un terme et ses sous-termes.
Créez une vue du type de contenu;
Ajoutez les champs obligatoires;
Ajoutez un filtre contextuel du type Contenu: A un ID de terme de taxonomie (avec profondeur) et sélectionnez la profondeur une valeur aussi profonde que la hiérarchie que vous avez dans la taxonomie.
Maintenant, lorsque vous passez le terme id comme entrée, il affichera tous les nœuds sous ce terme de taxonomie, y compris les nœuds enfants.
Si vous souhaitez modifier l'URL pour avoir le nom du terme au lieu de l'ID du terme, procédez comme suit.
En vue, donnez le chemin comme taxonomie/terme /%, cela remplacera le chemin de taxonomie par défaut;
Installer le module Pathauto cela dépend du module Tokens alors installez-le également;
Dans Configuration -> alias d'URL, vous avez un onglet appelé Patters;
Réglez le modèle des "CHEMINS DE TERMES TAXONOMIQUES" sur ce que vous souhaitez qu'il soit. Assurez-vous que la dernière valeur est [term: name] donc si vous voulez que le chemin soit catégorie/carotte vous devez le donner comme catégorie/[term: nom];
Si vous avez déjà ajouté les termes de taxonomie, vous devrez effectuer la "MISE À JOUR EN VRAC", qui est à nouveau un onglet sur la page Alias d'URL.
Maintenant, lorsque vous visitez la page catégorie/termname, vous verrez tous les nœuds sous le terme, y compris les termes enfants.