[résolu] Comment afficher une liste dépendants d'un contenu

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 vous explique. J'ai deux types de contenus (l'un dépendant de l'autre).
J'aimerais que le premier contenu créer ajoute une vue sur mon deuxième contenu.
Je sais ajouter une views grâce à CCK.

Seulement voilà, j'ai besoin de filtrer le contenu de ma vue sur la node actuel. Y'a t'il une solution à ce problème ?

Je pense que ta solution est la bonne mais je n'arrive pas à le faire. Pas besoin de relationship ?

dans "Contextual filters" j'ai Contenu: Nid . Je n'ai vu nul part identifiant du contenu a partir de l’url» ni node id courant (courant ça me parle pas, ca serait pas plutôt actuel ? (traduction de current)) ?

si tu es en anglais, ça doit être current en effet.

En fait tu ajoutes Contenu : Nid dans les filtres contextuels. Après l'avoir ajouter tu pourras le configurer plus finement.

  • tu coches, fournir une valeur par défaut et dans la select box qui va apparaitre tu choisis current node ou ce qui y ressemble

C'est ce que j'avais fait:
Provide default value, dans la select box j'ai choisis: content id from URL.
j'ai essayé en ajouter une relation, et un peu toute les options. Mais je comprend pas comment ça marche.

J'ai eu quelques désagrément avec les filtres contextuels aussi. Du coup ce que tu peux tenter :

plutot que "content id from URL", tu choisis "php code" et tu mets comme code
return arg(1);

j'explique : tu es dans une page de noeud donc les url sont de la forme node/[nid] (je parle de l'url machine non rewritté)

la fonction arg(index) retourne la valeur de l'élément "index" de l'url machine.

J'ai souvent palier les soucis avec les filtres contextuels de cette manière

ok pour return arg(1);
Mais je comprend toujours pas comment il va faire pour filtrer ce que je veux.

Je vais refaire un petit résumé. J'ai deux types de contenu.
Matière et exercice.

Quand je crée un exerice grace à node:reference (et views) je peu créer un exercice et faire une réference a la matière.

Donc quand je vais sur la node d'un exercice je peu voir la matière.

La je suis bloqué sur l'inverse: Quand je vais dans ma liste de matière et que je clique sur une matière, j'aimerais voir les exercices de cette matière. J'était plutôt partit pour utiliser relation-ship car je dois avouer que je ne comprend pas les filtres contextuel. et le contenu:nid qui d'après ce que j'ai compris récupère l'ID du de la node actuellement ouverte ne me dis pas comment il retourne les bons exercices à la matière ouverte.

Merci pour vos réponses rapide :) !!

ahhhhh mais ça cange tout ou presque ;)

en fait le filtre contextuel il faut le faire sur le champ nodereferrence :

en gros ta vue va chercher les noeuds de type exercice ayant pour valeur de champ nodereferrence l'id du noeud "matière" que tu seras en train de consulter,
le code que je t'ai donné ne change pas, il te faut juste choisir le bon champ

"en fait le filtre contextuel il faut le faire sur le champ nodereferrence :"

Pour ça j'utilise une relation : contenu:matiere (Appears in: node:tache) que j'ajoute dans mon contenu:nid du filtre contextuel ?

ma node reference dans mon CCK pour exercice est fait avec une views (y'a aussi une histoire d'acces donc je filtre les matières celons l'utilisateur:actuel).

j'ai beau essayer j'arrive pas a filtrer ma vue :(

Avec de la persévérance et beaucoup de café j'ai fini par trouver!
Dans: When the filter value is NOT in the URL j'ai coché: 'Provide default value' et j'ai sélectionné: 'content id from url'

Dans: When the filter value IS in the URL or a default is provided
j'ai coché: 'Specify validation criteria'
et avec du php code je me suis servis du return arg(1);

J'ai ajouté une relationship avec ma matiere dans exercice

Merci beaucoup pour votre aide! :)

salut,

Comment as tu fait pour que tes deux types de contenus soit dépendant l'un de l'autre.
Je t'explique, j'ai un type de contenu "catégorie" et l'autre "article". Je veux lorsque je supprime une catégorie que tous les articles associés à celle ci soit supprimé en même temps.

Merci de te réponse.