Plugin champs extras2 : ajout d’un champ dans table auteur, le retrouver pour un utilisateur connecté

Bonjour, Sous spip2.0.8, j’essaye d’appliquer la contribution suivante : http://www.spip-contrib.net/Un-niveau-d-acces-sur-les-objets

j’ai ajouté un champ dans la table des auteurs je souhaite accéder à la valeur de ce nouveau champ en fonction du membre connecté

Est-il possible d’y accéder à l’aide de #SESSION*{mon_champ}*

Si non, avez vous des pistes à me proposer ?

Merci pour vos eclaircissements

P.

Salut, j’ai eu la même problématique à résoudre, et voici ce que j’ai fait :

  1. j’ai créé mes champs extra dans la table auteur (college, id_salarie, etc.)
  2. j’ai décidé, pour en disposer partout dans mon site, de les ajouter à la session.

a. récupération dans un boucle (AUTEURS){id_auteur=#SESSION{id_auteur}}, de la (ou des) donnée voulue : #SESSION_SET{college(#EXTRA|college)}
b. ensuite, dans tout le site, j’utilise ma valeur : #SESSION{college}

Voilà. J’espère que cela t’aidera dans ton problème

Marc

Le 10 juin 09 à 14:18, puzzlegd@gmail.com a écrit :

Bonjour, Sous spip2.0.8, j’essaye d’appliquer la contribution suivante : http://www.spip-contrib.net/Un-niveau-d-acces-sur-les-objets

j’ai ajouté un champ dans la table des auteurs je souhaite accéder à la valeur de ce nouveau champ en fonction du membre connecté

Est-il possible d’y accéder à l’aide de #SESSION*{mon_champ}*

Si non, avez vous des pistes à me proposer ?

Merci pour vos eclaircissements

P.


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Bonsoir,

puzzlegd@gmail.com a écrit :
(...)

j’ai ajouté un champ dans la table des auteurs je souhaite accéder à
la valeur de ce nouveau champ

#LENOMDUCHAMP

> en fonction du membre connecté

Préciser... jambe, bras ?

Est-il possible d’y accéder à l’aide de #SESSION/{mon_champ}/

Alors plutôt: #SESSION{statut}...

--
hth
fm

Bon, je suis sur un 2.0.5, mais la problématique avec une 2.0.8 est la même. J’utilise le plugin Champs Extras (indispensable depuis la version 2 de spip) v.1.0[25998] stable. Tu le trouveras ici : http://www.spip-contrib.net/Champs-Extra,2939

La différence avec le plugin Champs Extra 2 est qu’il n’y a pas d’interface de construction de nouveaux champs (je ne l’ai pas encore testé). Mais, à terme, le résultat devrait être le même, je pense.

Donc j’ai créé mon champ extra en utilisant le fichier mes_options.php qui a été ajouté au répertoire /config. Bien sûr, mon exemple #SESSION{college} est un exemple, correspondant à mon besoin propre ! :-). Je te refais un exemple ci-dessous avec ton besoin, en espérant avoir bien compris ce que tu souhaites.

Je ne comprends pas : #SESSION_SET{college(#EXTRA|college)}

#SESSION_SET{clé, valeur} est une balise de spip qui permet de mettre dans la session une valeur retenue dans clé … très pratique …

je pense tout d’abord qu’il manque une virgule : #SESSION_SET{clé, valeur) ?

Oui, bien sûr, excuses …

je ne vois pas comment je peux lire mon champ niveau avec (#EXTRA|college) ? (#EXTRA|niveau) me retourne une erreur de filtre

Maintenant, voilà comment j’ajoute mes champs extra (ce qui n’est bien sûr pas limité à la table spip_auteurs), dans le fichier mes_options.php :

<?php // -------------- Définition des champs extra dans la table spip_auteurs ---------- $GLOBALS['champs_extra'] = Array ('auteurs' => Array ( 'id_salarie' => 'propre|Numéro du salarié', 'college' => 'propre|Collège', 'adr1' => 'propre|Adresse1', 'adr2' => 'propre|Adresse2', 'adr3' => 'propre|Adresse3', 'cp' => 'propre|Code postal', 'ville' => 'propre|Ville', 'mel' => 'propre|Email' )); ?>

En ce qui te concerne, pour n’avoir que le champ niveau :

<?php // -------------- Définition des champs extra niveau dans la table spip_auteurs ---------- $GLOBALS['champs_extra'] = Array ('auteurs' => Array ( 'niveau' => 'propre|Niveau' )); ?>

Le code ci-dessus te permettra de voir un champ supplémentaire dans ta fiche auteur, intitulé Niveau … à remplir par ce que tu veux, bien sûr.

Entretemps, j’ai installé Champs Extra 2 sur un site pour voir … j’ai créé un champ extra appelé niveau, dans la table auteurs … Pour récupérer la valeur, voilà ce que j’ai fait :

Dans la page sommaire.html, tout en haut, avant même le DOCTYPE, j’ai mis la boucle ci-dessous

<BOUCLE_test(AUTEURS){id_auteur=1}>
#SESSION_SET{niveau,#NIVEAU}
</BOUCLE_test>

Ensuite, dans n’importe quelle autre page, pour afficher le contenu de ce champ, tu mets [(#SESSION{niveau})] et ça marche nickel !! Ainsi tu n’as pas besoin de faire toute la manip que je t’ai indiquée plus haut.

Par contre, ce plugin est indiqué comme « en test », aussi, tu pourrais avoir quelques autres surprises …

Voilà, en espérant que mes remarques t’éclairent un peu …

Bon courage.

Marc

Bonjour,
@MVM>
Merci pour cette réponse très détaillée
Je suis resté sur champs extra2 car je manipule des select et je n’ai pas trouvé de docs sur champs extra 1 expliquant comment faire…
Ca fonctionne bien, j’ai meme déporté ce fonctionnement sur le plugin agenda2 pour restreindre la visibilité des evenements, merci encore

@fremoin
hmmmmm
et ta réponse pour la jambe ca donne quoi ?

P.