Submitted by joker on
Bonjour,
- j'ai un type de contenu artistes (le titre de chaque noeud comporte le nom de l'artiste)
-
exemple: pour Serge Gainsbourg cela me donne une url: .../drupal/artistes/serge-gainsbourg - .../drupal/artistes/mike-brant - etc..
-
j'ai un type de contenu musiques ( la aussi, le titre de chaque noeud comporte le titre de la musique, de+ j'ai un champ cck (field_affiliation) qui liste tout les
artistes (ce sont les titres des contenu artistes) et permet de faire un node-reference pour savoir à quel artiste affilié la musique ). - exemple: pour un contenu 'laisse moi t'aimer' je peux l'affilié à serge gainsbourg ou mike brant.
j'ai une (view)page qui liste les artistes, quand on clic dessus, on arrive directement dans leurs noeuds avec leurs biographies et différentes infos, j'aimerais ajouter un bloc qui liste les titres de leurs musiques, pour cela je crée une nouvelle vue:
champs:
node: titre. ça récup tout les titres des noeuds sur le site
filtres:
node: type = musiques. pour que çela ne recupère que les titres des noeuds de type "musiques".
field_affiliation : nom d'un artiste. (il me propose ceux qu'il y a dans mon node-reference et la je peux filtré en demandant les titres des musiques d'un seul artiste en particulier genre Gainsbourg ou Brant).
or, si j'ai 450 artistes, il faudrait donc que je fasse 450 vues en bloc :d (chacune des vues listerait les musiques d'un seul artiste)
si je suis sur: .../drupal/artistes/serge-gainsbourg, il aurait fallu auparavant que je mette le bloc(view) qui me liste les titres de Gainsbourg
comment puis-je dire à views -> filed_affiliation = le titre qui est passer dans l'url <- car il me semble que c'est ce paramètre que je dois récupérer pour avoir une unique vue !! sinon, dois-je écrire ma requette sql moi même peut-être?
Merci d'avance
Il n'est pas nécessaire de
Permalien Soumis par takeova le 5 Décembre, 2009 - 13:29
Il n'est pas nécessaire de créer autant de bloc que d'artiste, il y a l'option arguments dans views qui permet de le gérer, au lieu de filtrer par le champs field_affiliation vous pouvez utiliser un argument qui sera le node_reference
merci pour l'info, Dans
Permalien Soumis par joker le 5 Décembre, 2009 - 15:07
merci pour l'info,
Dans l'apperçu de views, cette solution fonctionne si je passe en argument "4" ou "5" qui correspond au nid !
mais étant donner que j'ai des alias d'url: .../artistes/serge-gainsbourg ou .../artistes/mike-brant. il m'est impossible de lui communiquer l'argument à la fin de cette url..
j'ai laisser:
champs/ node : titre
filtres/ node : type = musique
arguments/ field_affiliation = fournir l'argument par défaut > identifiant du noeud à partir de l'url
je ne vois pas ce que je peux mettre d'autres pour qu'il me récupère l'alias..
si je met un 4 la requette généré est:
SELECT node.nid AS nid,
node.title AS node_title
FROM node node
LEFT JOIN content_field_sons_artistes node_data_field_sons_artistes ON node.vid = node_data_field_sons_artistes.vid
WHERE (node.type in ('sons_stars')) AND (node_data_field_sons_artistes.field_sons_artistes_nid = 4)
Enfaite vous voulez retirer
Permalien Soumis par takeova le 5 Décembre, 2009 - 15:30
Enfaite vous voulez retirer de l'url l'artiste et l'utilisé comme arguments ?
Pour ca il faut choisir de fournir l'argument par défaut => Code PHP et dans le textarea vous mettez :
$artiste = arg(1);
return $artiste;
Cet snippet fait que de l'url "/artistes/serge-gainsbourg" il prend la valeur de "serge-gainsbourg" est le met comme arguments.
tout fonctionne parfaitement
Permalien Soumis par joker le 5 Décembre, 2009 - 15:45
tout fonctionne parfaitement ! merci beaucoup :d
j'aurais juste une petite
Permalien Soumis par joker le 5 Décembre, 2009 - 17:08
j'aurais juste une petite question dans le même genre avant de clore ce topic;
si je suis sur la fiche d'un artiste et que je veux afficher un bloc qui listes tout les autres artistes du site dans cette fiche, je fais ma view comme d'habitude, mais sauriez-vous comment je peux supprimer, dans cette liste, le nom de l'artiste que l'on visite actuellement ? c'est inutile qu'il réapparaissent car le but est de montrer les autres artistes.
merci à vous.
Il suffit de créer un
Permalien Soumis par takeova le 5 Décembre, 2009 - 20:07
Il suffit de créer un argument avec le node id de l'artiste en cours est de cocher "Exclure l'argument".
génial merci bien !
Permalien Soumis par joker le 5 Décembre, 2009 - 20:45
génial merci bien !