Variables globales ?

Bonjour,
  le contexte est « les modèles ». J’écris deux modèles dont j’aimerais qu’ils communiquent ensemble, pour éviter que l’utilisateur du modèle ait à taper 2 fois les mêmes paramètres. Du coup j’aurais aimé pouvoir mettre les paramètres passés au premier modèle dans des variables globales afin que le 2ieme modèle puisse les récupérer.
  Est-ce faisable en SPIP ?
   Merci,
     Mikhaël

Le 09/11/2017 à 12:44, Mikhaël MYARA a écrit :

Bonjour,
   le contexte est « les modèles ». J’écris deux modèles dont j’aimerais qu’ils communiquent ensemble, pour éviter que l’utilisateur du modèle ait à taper 2 fois les mêmes paramètres. Du coup j’aurais aimé pouvoir mettre les paramètres passés au premier modèle dans des variables globales afin que le 2ieme modèle puisse les récupérer.
   Est-ce faisable en SPIP ?

Bof c'est probablement faisable...
mais ce n'est probablement pas la bonne manière de faire.

Voudrais tu donner un peu le contexte et préciser ce que tu veux faire ?

JL

Merci pour votre réponse.
En gros : je veux que l’utilisateur utilise le modèle avec la syntaxe <nom1|param1|param2>
Je veux l’utiliser pour envelopper un morceau de texte :
<nom1|debut|param1|param2|param3>
blablabla
<nom1|fin|param1|param2|param3>

Le code de « fin » dépend des paramètres, identiques à ceux de « debut ». Je voudrais faire l’économie, pour l’utilisateur, d’avoir à les repasser.

Typiquement : « debut » va « ouvrir » des séquences html (genre <div class=« … »>) qui dépendent des paramètres, et « fin » doit les refermer, et doit donc connaitre les paramètres qui ont été passé à « début ».

Pour des raisons de simplicité, je préfèrerais utiliser simplement deux modèles que de parser les pipelines de spip - qui à coup sûr permet de résoudre mon problème mais je n’ai jamais mis les mains dans les pipelines et j’avoue que je préfère éviter.
Est-ce que le problème est mieux formulé ?
Merci encore,
  Mikhaël

Le 9 nov. 2017 à 21:46, JLuc <jluc@no-log.org> a écrit :

Le 09/11/2017 à 12:44, Mikhaël MYARA a écrit :

Bonjour,
  le contexte est « les modèles ». J’écris deux modèles dont j’aimerais qu’ils communiquent ensemble, pour éviter que l’utilisateur du modèle ait à taper 2 fois les mêmes paramètres. Du coup j’aurais aimé pouvoir mettre les paramètres passés au premier modèle dans des variables globales afin que le 2ieme modèle puisse les récupérer.
  Est-ce faisable en SPIP ?

Bof c'est probablement faisable...
mais ce n'est probablement pas la bonne manière de faire.

Voudrais tu donner un peu le contexte et préciser ce que tu veux faire ?

JL

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

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

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

Irc : de l'aide à toute heure : http://spip.net/irc

Le 09/11/2017 à 22:38, Mikhaël MYARA a écrit :

Merci pour votre réponse.
En gros : je veux que l’utilisateur utilise le modèle avec la syntaxe <nom1|param1|param2>
Je veux l’utiliser pour envelopper un morceau de texte :
<nom1|debut|param1|param2|param3>
blablabla
<nom1|fin|param1|param2|param3>

Le code de « fin » dépend des paramètres, identiques à ceux de « debut ». Je voudrais faire l’économie, pour l’utilisateur, d’avoir à les repasser.

Typiquement : « debut » va « ouvrir » des séquences html (genre <div class=« … »>) qui dépendent des paramètres, et « fin » doit les refermer, et doit donc connaitre les paramètres qui ont été passé à « début ».

Pour des raisons de simplicité, je préfèrerais utiliser simplement deux modèles que de parser les pipelines de spip - qui à coup sûr permet de résoudre mon problème mais je n’ai jamais mis les mains dans les pipelines et j’avoue que je préfère éviter.
Est-ce que le problème est mieux formulé ?

pour moi oui ;
en tout cas spontanément je vois 2 pistes :

- faire une fonction, appelée en filtre,
qui empile un jeu de paramètres (appelée au |debut) en tableau dans une variable statique,
et qui ait aussi un argument spécial pour demander à les dépiler (appelée à la |fin)
et les renvoyer.
(Et peut être ce sera plus simple avec 2 modèles : <debut|...> et <fin|...>)
L'empilage/dépilage c'est si tu veux pouvoir emboîter tes structures,
sinon une simple static affectée/lue suffit.

- faire avec textwheel (et potentiellement choisir une syntaxe plus appropriée).
a priori, c'est fait pour,
mais concrètement j'ai jamais fait et je crois pas que ça soit documenté.

JL