Problème de views en bloc un peu bizarre...

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je galère depuis des dizaines d'heure sur un problème sans pour autant avancer...
Explication :

  1. J'ai créé une page avec un alias vetement/robe
  2. J'ai créé un vocabulaire "Vetement" avec à l'intérieur le terme "robe"
  3. J'ai ajouté à article un menu de type "Content taxonomy" lié au vocabulaire Vetement.
  4. J'ai créé un article en choisissant "robe" dans le menu "content taxonomy".

Jusque là pas de problème...

  1. J'ai créé une vue avec comme argument :
    Taxonomie : Modificateur de la profondeur de l'identifiant de terme
    Taxonomie : Terme
    Je récupère ainsi le terme robe.

Le problème est que quand je test dans ma vue tout marche à merveille mais quand j'affiche ma vue (bloc) dans ma page il n'utilise le terme "robe".

Je ne sais plus quoi faire...

Merci d'avance pour votre aide

Version de Drupal : 

Hello

une piste peut etre... l argument est il toujours le premier lorsque tu est dans ta page?

Il se peut que si tu utilise path auto l'argument ne soit plus le meme.

exemple http://monsite.com/vetements/robe1
l argument 0 sera vetement et non plus robe1.

Dans la propriété valeur par défaut de ton argument tu peux choisir, fix value , et ensuite php .

Dans le code php rentre return arg(x); avec x le numéro de l'argument, tu vas devoir en essayer plusieurs avant de trouver le bon . généralement 1 devrait faire l'affaire

Filtre ton argument pour que les argument invalide soit rejetés. Lorsque largument sera rejette drupal essaiera de mettre la valuer par defaut il utilisera alors largument que tu a rentre dans ton code php.

J espere que c'est claire ... pas trop sure . ;-)

martin

Bonjour,

Merci pour ta réponse. Mon argument est toujours placé à la première position car l'alias de ma page (type de contenu par défaut dans drupal) est toujours structuré de la même façon : http://www.monsite.com/vetement/robe ou http://www.monsite.com/vetement/pull etc...

Dans views quand je test avec vetement/pull cela fonctionne. J'obtiens bien 1 seul résultat. Par contre quand ma vue (type bloc) est dans ma page http://www.monsite.com/vetement/pull, il m'affiche les 2 résultats c'est à dire 1 robe et 1 pull.

je pense donc que j'ai un problème à la récupération de l'argument. Il filtre uniquement sans tenir compte de l'argument.

J'ai tout filtrés avec le nom du vocabulaire, node valide etc...

Je n'arrive pas à comprendre pourquoi quand je test la vue tout fonctionne est pas sur ma page :-/

Hello

Ecoute je ne peux pas en dire beaucoup plus sans avoir le problème en face des yeux.

Ce que je ferai j'essaierai d'afficher le tableau des arguments dans le output de ma vue.

Dans ton output tu peux afficher arg();

Soit faire un print_r de args[].

Je ne suis pas expert sur le sujet donc ce st juste de la logique pure, si j ai un probleme avec mon passage d arguments alors je veux savoir quel est la valeur de la argument que le system recoit ;-)

Bonne chance je reste la si je peux te passer un coup de main

Salut,

Oui j'ai trouvé la solution. en fait pour un type "page" fournit de base avec drupal on ne peut pas passer d'argument. Pour pouvoir gérer les arguments dans une page il faut créer un type page avec Views avec un paramètre chemin du type vetement/% ensuite dans tes liens menus node ou autre tu appelle la page vetement/pull et tu récupère en argument le terme avec à la rigueur une relation si besoin. Pour ma part ça marche à la perfection et c'est là que l'on voit la puissance de cet outil !

Si tu as d'autres question par manque de clarté n'hésite.

P.S : J'ai vu ta page web...qui est sympa...mais tu n'es pas à côté dis moi ? ;)

Ahhh lala mais cela marche parfaitement avec un page ... le probleme ce sont les blocs ...
argh j ai passe 5h dessus hier , rien a faire je ne trouve pas.

J'ai lu beaucoup de posts a ce sujet mais aucune des solutiosn ne fonctionne. Je ne sais pas si c est un bug view mais rien n y fait.

Je te donne un exemple tres simple . Tu prends ta page actuelle qui fonctione et tu en cree une version en forme de bloc . Tu configure le block pour qu'il s affiche dans la page.

Tu vas sur la meme page, donc au centre tu devrai voir ta list e de vetemens et sur le cote ton block devrait afficher exactement a meme chose ... mais non rien , nadada de nada. Tous se passe comme si le bloc ne recevait pas l'argument.

Ou alors je n ai pas compris ta reponse

P.S: oui je susi bien loin... une petite structure on fait des site web pour l europe et l'asie... ca permet repondre au post la nuit ;-)

Re,

Je vois très bien ce que tu veux dire. J'avais fais le test aussi et en effet views ne veut rien comprendre sur une page classique. C'est pour cela que j'ai créé une vue avec à l'intérieur mes différents gabarits de pages en fonction des arguments attendus.

J'ai passé autant de temps que toi sur cette problématique. Si en 10 heures à deux nous n'avons pas trouvé c'est que en effet c'est impossible.

Si on y réfléchis bien dans la description du type de contenu Page il est écrit que le contenu Page est à utiliser que pour des pages du type "à propos de..." etc... donc il faut considérer que cela ne va pas plus loin.

Sinon pour ton info vu que je suis dessus actuellement, la beta1 du module conditional_fields prend désormais en compte les modules hierarchical_select et content_taxonomy ce qui est un plus que je trouve fondamental pour ce module.

Bonjour,

Je prends la conversation en route et je n'ai pas lu tous les messages intermédiaires. J'ai lu uniquement la question initiale de Maxime69, donc désolé si je suis à côté de la plaque.

Si j'ai bien compris, tu veux qu'une vue affichée sous forme de bloc utilise un argument qui vient de l'URL.

Le "problème" que tu as constaté est normal : quand une vue est affichée sous forme de page, les arguments sont obtenus à partir de l'URL de cette page (ce sont les valeurs qui apparaissent APRÈS le chemin de la vue). Mais quand une vue est affiché sous forme de bloc, elle ne reçoit plus d'arguments puisqu'un bloc n'a pas d'URL propre.

Si tu veux que les arguments de ta vue-bloc viennent de l'URL, il faut le définir explicitement dans le réglage des arguments : sur l'écran de paramétrage de tes arguments, dans "Action à mener si l'argument est absent" sélectionne "Fournir l'argument par défaut" (une vue-bloc n'a pas d'URL et donc pas d'arguments, l'argument est donc "absent"). Ensuite, choisis l'option appropriée à ta situation (par exemple, "Taxonomy Term ID from URL").