Submitted by ts404 on
bonjour,
Je rencontre un soucis de praticité.
J'ai deux types de contenus différents : un nomme "Les animations" et un nommé "Les lieux"
Une animation pouvant être jointe à un lieu via un autocomplete node reference CCK.
J'aimerai récupérer les paramètres du lieu lors de l'affichage du noeud animation (notamment le champ adresse pour affichage d'une carte google maps)
Pouvez vous m'aiguiller ?
Merci par avance - ts404
Il faut faire une view
Permalien Soumis par bneel le 16 Novembre, 2008 - 17:56
Il faut faire une view affichant "un lieu" lorsque tu affiche "une annimation".
1 - Commence à faire une view en full node avec un affichage en bloc pour les lieux
Dans les arguments, tu met quelque chose comme "node reference : lieux de l'annimation"
Dans le custom php tu met :
$args[0] = arg(1);
2 - Dans la gestion des blocs tu affiche la view que tu viens de créer. Il faut que le bloc s'affiche uniquement sur les pages "annimation". Soit tu as fait des URLs spécialement affectées aux annimation (ex : www.tonsite/annimation/titred'uneannimation), dans ce cas tu demande aux bloc de s'afficher uniquement sur les pages
annimation/*
Soit tu ne l'as pas fait (mais je trouve que ce n'est pas une bonne solution) dans le custom php tu demande un affiche selon le type de contenu. Je ne connais pas le php à mettre, mais tu trouvera facilement ca sur drupal.org.
En conclusion, la clef du succès, c'est l'argument de la vue et l'affiche du bloc.
Bon courage à toi.
Benjamin
Je teste ça de
Permalien Soumis par ts404 le 17 Novembre, 2008 - 10:43
Je teste ça de suite.
Effectivement, créer un bloc qui n'affichera qu'une carte en passant un argument nid devrait fonctionner XD
je teste ça a la fin du café et jfais un retour, merci pour le coup de main ^^
Bon, j'ai créé la vue, et
Permalien Soumis par ts404 le 17 Novembre, 2008 - 11:31
Bon, j'ai créé la vue, et j'ai rajouté le bloc autorisé seulement sur les pages animation/* ( pathauto ;)
J'ai spécifié l'affichage de "héhéhé" lorsque le bloc est vide ... Et il est vide alors que je passe $args[0] = arg(1); ...
Mon node est bien associé au node numéro 14, et j'ai fait toutes les étapes....
ET quand tu mets "display
Permalien Soumis par bneel le 17 Novembre, 2008 - 11:41
ET quand tu mets "display all value" dans les arguments de ta vue, ca te donne bien tous les résultats ?
Voilà toute l'étape Type A
Permalien Soumis par ts404 le 17 Novembre, 2008 - 12:04
Voilà toute l'étape
Type A : Expo -> Node reference vers Lieux
Type B : Lieux
Views
Nom : Gmaps_lieux
Provide Block
view Type : Full node
Titre: noeud
Nodes per block : 1
Fields
Node title : normal
Argument : Node Reference Lieu (Field_lieu) - display all value
Argument Code : $args[0] = arg(1);
Bloc
Affichage a droite uniquement pages expos/*
Voilà.
Pour info, le noeud numéro 15 pointe vers le noeud numéro 14.
Lorsque je ne filtre pas au type de contenu Lieu, ça affiche sur le noeud 15 un noeud (le 6) qui n'a rien a voir.
Lorsque je filtre l'affichage des noeuds de type lieux, puis lorsque je vais sur un noeud qui n'a pas de node reference spécifiée, au lieu d'afficher "héhé" (valeur vide) il m'affiche le noeud 14 qui est le seul de la liste des noeuds de type lieux
Je viens de joindre le noeud
Permalien Soumis par ts404 le 17 Novembre, 2008 - 12:24
Je viens de joindre le noeud 16 au noeud 17 (nouveau lieu), ça ne fonctionne pas du tout, il m'affiche le noeud 14 dans le bloc ...
Bref je pense avoir un petit problème ...
Si tu enlève "node par
Permalien Soumis par bneel le 17 Novembre, 2008 - 12:42
Si tu enlève "node par block 1" et que tu mets 25 par exemple. Cela te donne toute la liste ?
Attends là je n'ai plus
Permalien Soumis par ts404 le 17 Novembre, 2008 - 13:10
Attends là je n'ai plus rien ... J'ai tout repris depuis le début et ça n'affiche plus rien... Jsuis pas débile quand même .. Je comprend plus drupal.
J'ai recréé une vue affichant 25 noeuds dans un bloc
Avec pour argument Node reference, un titre en tant que champ affiché et code d'argument : $args[0] = arg(1);
Je vais dans bloc, j'affiche le bloc créé uniquement sur les pages agenda/soirees/*
POuf rien ne fonctionne ...
j'arrive a afficher "
Permalien Soumis par ts404 le 17 Novembre, 2008 - 13:15
j'arrive a afficher " héhéhé " ( Texte à afficher si la vue ne montre aucun noeud. Optionnel. )
Mais voilà, c'est comme s'il n'avait rien...
Alors que voilà, en fichier attaché, tu verra, il m'affiche bien "L'ambassade" qui est un node reference vers un contenu lieu (nid = 14)
On va reprendre depuis le
Permalien Soumis par bneel le 17 Novembre, 2008 - 13:28
On va reprendre depuis le début.
Pour cela, on oubli l'histoire des blocs qui s'affiche sur une page précise. tu affiche le bloc sur toutes les pages.
Repart sur une nouvelle vue de type bloc. Ensuite dans ta vue, tu mets uniquement un filtre : type de noeud : lieux + un texte vide (ie "héheehe").
1 - Dit moi ce que tu as sur un noeud de type annonce.
2 - Ensuite fait un test avec argument : lieux et mets "display all value", et tu me dit ce que tu as.
3 - ressaye avec l'argument que je t'ai donné
2 autre questions :
- Peux tu me confirmer que tu es sur drupal 5 et non le 6 ?
- Enlève le cache si tu l'a installé et n'hésite pas à vide le cache des vues en allant dans (view -> tool)
B.
alors 1 : confirmé, je suis
Permalien Soumis par ts404 le 17 Novembre, 2008 - 13:44
alors
1 : confirmé, je suis sous dernière version de drupal 5
2 : cache vidé (pas activé de toute façon, et CTRL + F5 utilisé en permanence
3 : dans un noeud de type animation, j'ai un titre, une description, une photo, et un node reference qui pointe vers le type de contenu "Lieu" uniquement.
J'ai recréé la vue et le bloc comme tu m'a dit, et donc en page d'accueil, j'ai dans le bloc qui est affiché la liste des deux lieux qui sont en base de donnée (Lieu A et Lieu B)
Lorsque je vais dans les soirées animations, j'ai le bloc rempli avec "héhéhé", idem lorsque j'accède aux soirées (type de contenu qui possède le node reference vers les lieux)
en fichier attaché ;)
Merci bcp par avance :)
Je pense savoir ou est le
Permalien Soumis par bneel le 17 Novembre, 2008 - 14:11
Je pense savoir ou est le problème. Ce que tu veux afficher, c'est un lieux qui fait référence à une soirée et non une soirée qui fait référence à un lieux. Donc il faut que tu fasse une vue de lieux qui "ont été référencé", et non "qui référence" (c'est ce que l'on a fait depuis le début).
Le fait de changer de sens, implique qu'il faut que utilise un autre module : nodeReferrer. Ce module permettra de faire appel aux noeuds qui ont été référencés. Je m'était penché sur ce problème et j'avais bien galéré. Plein de gens y arrive. utilise bien drupal.org pour cela.
Bon courage et désolé pour la mauvaise piste que je t'ai donné.
Ben
C'est classe, j'ai peut
Permalien Soumis par ts404 le 17 Novembre, 2008 - 14:15
C'est classe, j'ai peut être pas été assez clair aussi ...
Et merci pr le coup de main ^^
n soirées pour 1 lieu
j'ouvre la page soirée, je veut afficher le lieu, sachant que le lieu est spécifié dans le contenu soirée.
Jvais me rediriger vers le module http://drupal.org/project/nodereferrer
Ca n'a pas l'air d'être ça
Permalien Soumis par ts404 le 17 Novembre, 2008 - 14:26
Ca n'a pas l'air d'être ça du tout....en fait ...
j'ai fait un croquis en ficheir joint
Node referer me permettra
Permalien Soumis par ts404 le 17 Novembre, 2008 - 14:37
Node referer me permettra d'afficher toutes les soirées pour 1 lieu.
Mais ce que je cherche simplement à faire, c'est afficher le lieu lié dans une soirée.
J'ai bien compris ta
Permalien Soumis par bneel le 17 Novembre, 2008 - 14:49
J'ai bien compris ta demande.
Pourquoi n'utilise tu pas drupal 6, il semble que cela soit facile à faire aec views 2 :
lis : http://drupal.org/node/289738
yes j'utilisais drupal 5
Permalien Soumis par ts404 le 17 Novembre, 2008 - 14:58
yes j'utilisais drupal 5 pour un simple petit module...
Je vais installer drupal 6 alors
thx 4 all :)
Ce module
Permalien Soumis par bneel le 17 Novembre, 2008 - 15:03
Ce module http://drupal.org/project/ReferencedByFilter
devrait faire ce que tu veux, mais je n'arrive pas à le faire fonctionner.
Pitin il est chaud Drupal 6
Permalien Soumis par ts404 le 17 Novembre, 2008 - 18:27
Pitin il est chaud Drupal 6 ^^
Allé c'est reparti, vais voir ce lien, ça m'a l'air bien http://drupal.org/node/289738
Merci beaucoup bneel
++++ Ts404