Submitted by benjhe on
Bonjour,
voici plusieurs jours que je penche sur mon problème et je ne trouve pas de solutions convenables.
Voila ma situation :
j'ai créé un type de contenu 'personnage' comprenant comme champs:
- Title (son nom)
- Body (sa description)
- Photos (permet d'ajouter autant de photos que l'on souhaite)
Avec Pathauto, j'ai créé un modèle pour que chaque noeud de type 'Personnage' soit situé sous l'url : http://monsite.fr/personnages/[node:title] (node:title correspond donc au nom de mon perso)
J'ai ensuite créé une vue qui génère le listing de tous les personnages à l'adresse : http://monsite.fr/personnages/
Et enfin, j'ai créé un template "node--personnage.tpl.php" pour l'affichage d'un personnage.
Ca, ca fonctionne impec.
Maintenant, dans mon template "node--personnage.tpl.php," j'ai ajouté des liens pour pouvoir consulter les photos de chaque personnage (j'aimerai faire une galerie à terme) :
http://monsite.fr/personnages/nom_du_perso/photos.
J'ai alors créé une vue qui se charge lorsque l'on se rend à l'URL http://monsite.fr/personnages/%/photos se charge, mais le soucis est qu'elle affiche toutes les photos de tous les personnages.
J'aimerai donc restreindre l'affichage aux photos du personnage "nom_du_personnage" présent dans l'url, mais je ne trouve pas comment faire.
J'ai lu plusieurs posts français/anglais qui mentionnent l'utilisation des filtres contextuels mais je ne saisis pas comment récupérer le nid à partir de l'alias.
Est-ce que quelqu'un saurait m'aider ?
En vous remerciant d'avance.
Bon j’ai finalement réussi à
Permalien Soumis par benjhe le 20 Janvier, 2012 - 15:12
Bon j'ai finalement réussi à faire ce que je voulais faire, grâce au site suivant : http://peterpetrik.com/blog/node-id-view-argument-from-seo-friendly-url-...
Comme je suis sympa je partage pour éviter à d'autres de s'arracher les cheveux sur le problème.
Dans mon cas, je souhaitais récupérer le content:nid en fonction du node:title passé dans l'URL par l'intermédiaire de pathauto.
Donc dans les paramètres de ma vue :
- j'ai ajouté un CONTEXTUAL FILTER de type Content: Nid
- pour la section WHEN THE FILTER VALUES IS NOT IN THE URL, j'ai coché Show "Page not found"
- pour la section WHEN THE FILTER VALUES IS IN THE URL OR A DEFAULT IS PROVIDED, j'ai coché Specify validation criteria
- comme Validator, j'ai sélectionné PHP Code
- et j'y ai ajouté le code suivant (sans les balises <? php ?>):
Après application du filtre et l'enregistrement de la vue, la page ne m'affiche bien plus que les photos correspondant au personnage visionné.
Merci pour le partage de ta
Permalien Soumis par sletis le 7 Juin, 2012 - 18:23
Merci pour le partage de ta solution cela m'a beaucoup servi
bye