Bonjour,
J’ai beaucoup de mal avec le langage de spip, je n’arrive pas à me faire à la « logique » syntaxique et structurelle de ce système.
Donc j’ai un problème pour récupérer un variable globale, voici le contexte :
J’ai besoin de récupérer dans une bdd externe des rôles spécifiques pour les utilisateurs enregistrés.
J’ai créé dans mes_options une balise dynamique #USER_INFO. Dans cette balise j’initialise un tableau avec les différents rôles des utilisateurs qui est placé dans une variable globale (ok en sortie de routine). La balise en elle-même ne renvoie que le statut de la récupération. Je récupère bien ce statut en plaçant la balise dans une page, mais pas moyen de récupérer les données du tableau.
Dans la routine de la balise j’ai essayé de déclarer le tableau avec :
$GLOBALS['userinfo'][…]
$_SESSION['userinfo'][…]
$GLOBALS['visiteur_session']['userinfo'][…]
Pour récupérer les données j’ai essayé selon le cas avec les codes suivants :
<span style='display: none;'>
get_user_info: #USER_INFO ← recup ok
data: [(#GET{$GLOBALS[userinfo]}|table_valeur{item})] ← selon déclaration
data: [(#GET{#SESSION{userinfo}}|table_valeur{item})] ← selon déclaration
</span>
Est-ce que la syntaxe du #GET est incorrecte ?
Faut-il déclarer la variable globale quelque part avant de l’utiliser dans mes_options ?
Est-ce qu’il existe un moyen plus simple pour déclarer une variable global et l’utiliser dans un squelette / une page ?
Autre souci avec ma balise, dans la déclaration de la balise statique, si j’utilise un tableau vide comme suggéré dans certains exemples, pour l’appel de la balise dynamique :
return calculer_balise_dynamique($p, 'USER_INFO', array());
Je récupère cette erreur :
get_user_info: Fatal error: Uncaught ArgumentCountError: Too few arguments to function balise_USER_INFO_dyn(), 0 passed in /volume1/web/istresrando.fr_/spip/ecrire/public/evaluer_page.php(51) : eval()'d code on line 6 and exactly 1 expected in /volume1/web/istresrando.fr_/spip/config/mes_options.php on line 33
Pour l’instant, j’ai contourné le problème en passant un tableau de paramètres bidons…
Merci d’avance pour tout aide, cordialement.
TG