Comment passer des arguments dans une vue avec un affichage 'bloc'

Catégories:

Bonjour à tous,

Je suis toujours sur le même problème depuis 10jours maintenant. Question simple, j’ai une url de ce type ‘http://monsite.fr/exercice/math/titre’ avoir un argument qui analyser l’argument ‘math’ ($2) et qui affiche un bloc en fonction de ça. Je créé ce bloc dans une vue.

Simple à dire, véritable galère pour le faire

Une idée ?????

merci pour votre aide

#

Cela dépend un peu de qu’est ce qu’est l’argument math.

Mais en substance, vous ajoutez un argument, puis dans les options d’un argument, vous trouverez «Action à mener si l’argument est absent» (ce qui est votre cas si la vue est appelée d’un bloc), sélectionnez «Fournir l’argument par défaut». Puis selon les cas «Code PHP», «Identifiant du nœud à partir de l’URL», «Identifiant utilisateur dans l’URL»…

Si vous choisissez finalement «Code PHP», utilisez return arg(1); pour utiliser directement l’argument 2.

#

‘math’ est un terme du vocabulaire ‘exercice’ dans cet exemple. Le problème que je rencontre est que dans la vue de type bloc je n’arrive pas à récupérer ‘math’. Pouvez-vous me mettre un exemple php pour que je comprenne comment récupérer l’argument 2 s’il vous plait ?

Merci d’avance

#

Comme indiqué plus haut : return arg(1); renvoie le deuxième argument dans l’URL.

Par contre, si math est un terme de vocabulaire, autant utiliser le mode ‘Identifiant de terme de taxonomie dans l’URL’.

#

Excuse moi Damien, il y’a un élément que je ne comprends pas. J’utilise bien un terme de vocabulaire mais j’ai l’impression que le terme de vocabulaire (dans l’argument) filtre l’argument 0 et non l’argument 1. C’est le problème que je rencontre. Comment paramétrer l’argument pour qu’il sélectionne l’arg(1) puisque si l’arg(1) n’est pas pas trouvé, je ne veux pas afficher de boxe.

#

J’imagine que le fournisseur d’argument par défaut «Taxonomy Term ID from URL» ne fonctionne pour les IDs (numériques) de taxonomie, et non avec les noms (comme dans ton URL : ‘math’).

Dans ce cas, utilise «Code PHP» (avec le code return arg(1);) pour récupérer le nom depuis l’URL, puis utilise dessous Validateur: Terme de classification, sélectionne le vocabulaire qui t’interesse, puis dessous : Type d'argument: Nom / synonyme converti en identifiant de terme.

#

Merci du temps que tu passes sur ce post. Dans la vue en mode édition, j’arrive bien à afficher le résultat souhaité. Sur le site, là ou doit s’afficher le bloc, nada, rien ne s’affiche.

Je ne sais pas ou chercher parceque lorsque je mets en cas de réponse non trouvé «afficher tous les résultats» à ce moment j’ai tout qui s’affiche. Hors actuellement j’ai choisi d’utiliser un code php si l’élément n’est pas trouvé retournant ‘return arg(1);’ et j’ai validé comme tu m’as dit précédemment !

Je ne sais plus ou chercher, j’ai l’impression que ma vue est bien paramétré puisqu’elle affiche le bon résultat en mode édition mais le bloc n’apparait pas !

#

J’ai trouvé pourquoi ça ne fonctionne pas, mais maintenant j’ai l’impression d’être face à un bug de [view]

Dés que j’ai un troisième argument dans mon url, arg(1) ne me renvoie pas le deuxième argument (ici ‘math’) mais l’id de l’article en 3ème paramètre…

Si quelqu’un à une explication rationnelle…

Syndiquer le contenu