affichage d'information avec view et selon organic groups

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,

J'ai un type de contenu "Etablissement" que j'ai définit dans Organic groups comme "groupe node".
Lorsque je suis sur un autre type de contenu qui fait parti de ce groupe (standard group post), j'aimerai que les information relatives à l'établissement associé s'affichent au dessus dans un bloc.
J'ai donc pour cela créé une vue (avec notamment en tant que filtre "Node Type : Etablissement"). Mais ca ne m'affiche que le contenu d'un seul et même établissement pour toutes les pages.

J'ai ensuite entré comme argument "organic group : group node", en entrant comme paramètres :

Action to take if argument is not present: Hide View
Validator: Group Node

Le problème, c'est que à partir de là, ca ne m'affiche carrément plus rien.

J'ai par la suite installé Organic Groups Views Extra et Organic Views Integration pour que Organic groups soit compatible avec view.

Mais rien à y faire toujours aucun résultats.

Quelqu'un a-t-il déjà rencontré ce problème ??

Merci

Je ne comprend pas bien la tu dit "Mais ca ne m'affiche que le contenu d'un seul et même établissement pour toutes les pages."

Je croyais que l Etablissement etait ton groupe???

et tu dit "j'aimerai que les information relatives à l'établissement associé s'affichent au dessus dans un bloc"??

Franchemant j ai du mal a suivre.Tu peut réexpliquer stp

Et bien je voudrais que lorsque je suis sur une des pages d'un groupe (group post), les informations relatives à ce groupe (group node) soient affichées dans un bloc au dessus.
J'ai donc utilisé View pour faire cela, mais ca ne me filtre pas l'affichage en fonction de la page (en gros j'ai toujours un groupe X affiché en haut, alors que je suis sur une des pages d'un groupe Y ou Z...)

J'espère que j'ai été plus clair :)

C'est ce que j'ai fait avec "Argument: Group Node" qui me semble le plus pertinent (j'ai essayé aussi les autres), mais ca ne me donne rien...

Ma configuration devrait être :

Action to take if argument is not present: Hide View
Validator: Group Node
Argument Type: Group ID
Group membership validation: Do not validate user membership
Action to take if argument does not validate: Hide View

Mais elle se présente sous cette forme :

Action to take if argument is not present: Hide View
Validator: Group Node

Lorsque je choisi "Validator: Group Node", View ne me propose pas un choix de type d'argument...Je n'ai pas toutes les options de configuration en gros

Dans ce fameux bloc, quel argument concernant le groupe veut tu remonté?

Car quad tu est sur un node type post de groupe tu peut le traiter comme un node.

En fait l idée ce serai juste de changer ton filtre et les champ que tu selectionne.

Donc tu ajoute un bloc a ta vue tu remplace tout les champ qui remonte par default par ce ke tu veut remonter concernant le groupe, et dans filtre tu remplace le filtre.Le filtre c est le groupe sur lequel on est.

Tu voit ce que je veut dire.Quand je dit remplacer c est kan tu est sur la partie block de ta vue, tu click sur l element et tu fait ovveride.Ca veut dire que pour le block le filtre est different de celui par default.

nan mais tu te plantes dans le paramétrage de ton argument ; quand l'argument n'est pas présent, c'est pas "hide view" qu'il faut, c'est "fournir l'argument par défaut", et l'argument en question, c'est le NID récupéré à partir de l'URL ; tu laisses le validateur sur "basic validation" (a priori faut toujuors laisser drupal se démerder) et dans "Actions à mener si l'argument ne passe pas la validation" là tu choisis "hide view/error 404"

Merci Mbehmane et merci Marie-Hélène tu as raison, Il fallait cocher "fournir l'argument par default" et choisir "Identifiant du nœud à partir de l'URL".

L'affichage marche maintenant correctement sur la node de mon group (Group Node) mais ne marche toujours pas sur les autres posts du groupe (Standard group post)... Je ne vois pas quel autre argument je pourrais ajouter pour que ça marche ou si je dois effectuer une modification dans celui déjà existant...??

En tout cas encore merci

eh bien il doit falloir ajouter une relation dans la vue pour travailler sur les groupes associés aux contenus (je ne connais pas suffisamment OG pour savoir comment il travaille). tâtonne un peu dans les paramètres de la vue...

Il n'y a que deux choix dans les relations pour organic group dans la vue. Et ces deux choix ne correspondent pas...J'ai cherché dans d'autres paramètres de la vue mais je suis rentré bredouille.
Je ne sais pas si c'est possible, si quelqu'un sait ce qu'il faut faire, qu'il n'hésite pas !! ^^

Sur les post essaye de t y prendre comme je t ai dit en remplacant les filtre.Il faut ke tu te dise ke ce bloc est presque independant du reste de ta vue.Il a un filtre different de celui du reste de la vue.Pas besoin d argument pour moi, tu doit remplacer le filtre.

Je ne suis pas sûr mbehmane, car un filtre définit les conditions de la requête, et n'agit pas en tant qu'un argument..? enfin je ne vois pas comment cela peut changer ma requête.
J'ai essayé en dupliquant ma vue et en "exposant" mon bloc mais je ne trouve rien dans les filtres qui puisse agir correctement (j'ai essayé avec les filtres organic groups pourtant mais rien de rien)

Chepa car moi je me dit ta vue remonte des node type post selon des critere et des filtre, et tu peut dans un block de ta vue récuperer d autre champ selon t autre critere et d autre filtre( en l occurance la liste des groupe qui contienne ce poste).

Apres c est possible que tu ne puisse pas via les vues aller chercher les groupe auquel appartient un post.
Mais il ya moyen dans le filtre de remonter les groupe d un user.La on veut les groupe d un post.

Pour le user dans le filtre on a Organic groups : Group member Vrai

Pour les post je crois qu il n y a rien...

Moi j aurai fait mon module qui me genere un block qui remonte ca vite fait bien fait.
Ou je serai aller le genere dans mon template de vues....

Si tu trouve n'hésite pas aposter , c est bon a savoir.Merci

ou encore recupere dans ta vue l id du post concerner et faire un node_load dessu.Tu aura tout les groupe auquel il appartient sans faire de requette.

Car quand tu creer un post tu le lie a un ou plusieurs groupes donc j imagine que dans les information du node ke tu recuperera vian un node_load(nid), tu aura tes fameux groupe.

Mais ca tu le fait dans ton template de vue.(que tu devra surclasser)

Ton problème vient du fait que tu utilises un outil conçu pour regrouper des utilisateurs pour rubriquer ton contenu. Alors je ne sais pas si ce que tu veux faire est possible, mais tu souffrirais beaucoup moins en utilisant un simple champ Node reference pour lier les articles aux établissements. Parce que manifestement la notion "d'audience" (un post a pour "audience" tel ou tels groupes) est moins facile à récupérer dans views. Pour autant, si tu sais coder, tu dois pouvoir la récupérer via la table og_ancestry : c'est elle qui fait le lien entre le post dans lequel tu es et les contenus "groupe" auxquels il est rattaché.

La colonne "nid" te servira pour l'argument ("si je suis dans le post qui a pour NID #25, et qu'il existe dans og_ancestry au moins un enregistrement correspondant, alors récupère les informations liées au post-de-type-groupe dont le NID est associé au post #25").

Merci de ta réponse,

j'ai essayé avec Node référence et ca lie bien les articles aux établissements. Le problème, c'est que je veut afficher au dessus d'un article le titre de l'établissement, l'adresse de l'établissement (car node référence n'affiche que le titre)...mais je n'y arrive pas.

J'ai essayé avec une vue en mettant comme relation la node reference que j'ai créé et en associant cette relation à tous les champs. Puis j'ai affiché cette vue dans un bloc mais aucun résultat...je désespère devant mon problème !

toujours penser à la configuration de l'affichage des champs (onglet manage display). le node reference permet de charger le noeud complet si nécessaire ; après il est toujours possible de passer par le template pour choisir quels champs afficher dans ceux qui sont chargés

Sinon j'ai réussi a afficher le noeud complet avec node référence, mais il ne m'affiche pas mon champ image...enfin ca c'est un détail...

D'accord donc pour sélectionner seulement certains champs CCK à afficher...ce serait avec Contemplate ou dans les fichiers .tlp (je ne vois pas dans lesquels...) ?

merci