J'essaie à nouveau de faire le tour des filtres contextuels! Je l'ai utilisé il y a quelque temps, mais je suis à nouveau totalement perplexe. Voici ce que j'essaie de faire:
- Générez une page de nœud de contenu cloné avec des termes de taxonomie insérés dans cette page clonée.
ex.: EXAMPLE.com/white-shoes/blue
Lorsqu'un utilisateur atteint la page / white-shoes, il affichera la page du nœud d'origine orientée vers la couleur blanche. Maintenant, si l'utilisateur atterrit sur / white-shoes / blue, il affichera la même page de nœud, mais cette fois tout le contenu du corps sera réécrit en remplaçant la couleur blanche par la couleur bleue.
Dans les vues, je devrais créer un affichage de page avec le chemin d'accès:% /%
Maintenant, je créerais un filtre contextuel pour récupérer le nid. J'ajoute Content: nid comme filtre contextuel. Je choisis FOURNIR UNE VALEUR PAR DÉFAUT et je mets ce code PHP:
$ x = drupal_lookup_path ('source', arg (0));
$ y = exploser ('/', $ x);
retourner $ y 1 ;
Ce code PHP convertit essentiellement la partie / white-shoes de l'URL en NID. Mais ça ne marche pas. J'ai testé le code via drush ev via le terminal et j'obtiens en effet un résultat renvoyé, donc je sais que cela fonctionne.
Je fais de même pour le nom du terme de taxonomie et j'ajoute un filtre contextuel pour cela également. Cette fois, je choisis FOURNIR UNE VALEUR PAR DÉFAUT et je sélectionne RAW VALUE FROM URL et je sélectionne le 2e argument.
Comme vous pouvez le voir lorsque j'entre une VALEUR D'APERÇU pour le filtre contextuel: AAA / BBB / CCC. Ma valeur par défaut est ignorée. Il est censé saisir le 2e argument, mais il n'obtient que le 1er. Regardez l'instruction SQL OERE et vous verrez qu'elle obtient AAA alors qu'elle devrait être BBB.
La question est donc de savoir ce que je fais mal ou existe-t-il une meilleure solution à ce que je veux accomplir?