Z-core: possibilité de passer des variables entre les modules content et aside d'une même page ?

Bonjour,

Est-il possible de passer des variables entre les modules Z-Core (content, aside, extra, etc.) d’une même page ? J’ai essayé le filtre |setenv qui permet d’ajouter une variable dans l’environnement dans la partie « content » d’une page, mais je ne retrouve pas cette variable dans les autres parties de la page, par exemple dans la partie « aside ».

Ce que j’ai essayé. J’ai les pages :

  • content/ma-page.html

  • aside/ma-page.html

dans content/ma-page.html, j’inclus un squelette qui se trouve dans inclure/monsquelette.html en passant l’environnement: <INCLURE{fond=inclure/monsquelette, env}>

idem, dans aside/ma-page.html, j’inclus un autre squelette qui se trouve dans inclure/monsquelette-aside.html en passant aussi l’environnement : <INCLURE{fond=inclure/monsquelette-aside, env}>

Dans le fichier monsquelette, je crée une nouvelle variable dans l’environnement : [(#BALISE|setenv{ma_balise})]. Lorsque j’affiche le contenu de la variable environnement dans ce squelette ([

(#ENV**|unserialize|print_r{1})
]), je vois bien apparaître ma variable « ma_balise ».

Par contre, dans le fichier monsquelette-aside.html, je ne retrouve pas ma variable « ma_balise » lorsque j’affiche le contenu de la variable environnement.

-Frédéric

Bonjour,

Est-il possible de passer des variables entre les modules Z-Core (content, aside, extra, etc.) d’une même page ? J’ai essayé le filtre |setenv qui permet d’ajouter une variable dans l’environnement dans la partie « content » d’une page, mais je ne retrouve pas cette variable dans les autres parties de la page, par exemple dans la partie « aside ».

Ce que j’ai essayé. J’ai les pages :

  • content/ma-page.html

  • aside/ma-page.html

dans content/ma-page.html, j’inclus un squelette qui se trouve dans inclure/monsquelette.html en passant l’environnement: <INCLURE{fond=inclure/monsquelette, env}>

idem, dans aside/ma-page.html, j’inclus un autre squelette qui se trouve dans inclure/monsquelette-aside.html en passant aussi l’environnement : <INCLURE{fond=inclure/monsquelette-aside, env}>

Dans le fichier monsquelette, je crée une nouvelle variable dans l’environnement : [(#BALISE|setenv{ma_balise})]. Lorsque j’affiche le contenu de la variable environnement dans ce squelette ([

(#ENV**|unserialize|print_r{1})
]), je vois bien apparaître ma variable « ma_balise ».

Par contre, dans le fichier monsquelette-aside.html, je ne retrouve pas ma variable « ma_balise » lorsque j’affiche le contenu de la variable environnement.

-Frédéric

Mais ça n'a aucun sens par rapport à ce que fait SPIP : chaque squelette est évalué séparément avec son environnement, compilé, et mis en cache PUIS inclus dans la page. C'est déjà compilé et fini quand on l'inclut, il n'y a pas de "en direct", tout est déjà en cache.

--
RastaPopoulos

https://contrib.spip.net/Astuces-longues-pour-SPIP#a1

En revanche, je n'ai JAMAIS réussi à le faire fonctionner. Si tu arrives, STP, reviens et dis-nous

Le 28/04/2017 à 00:08, Frederic Lohier a écrit :

Bonjour,

Est-il possible de passer des variables entre les modules Z-Core
(content, aside, extra, etc.) d’une même page ? J’ai essayé le filtre
|setenv qui permet d’ajouter une variable dans l’environnement dans la
partie « content » d’une page, mais je ne retrouve pas cette variable
dans les autres parties de la page, par exemple dans la partie « aside ».

Ce que j’ai essayé. J’ai les pages :

- content/ma-page.html

- aside/ma-page.html

dans content/ma-page.html, j’inclus un squelette qui se trouve dans
inclure/monsquelette.html en passant l’environnement:
<INCLURE{fond=inclure/monsquelette, env}>

idem, dans aside/ma-page.html, j’inclus un autre squelette qui se trouve
dans inclure/monsquelette-aside.html en passant aussi l’environnement :
<INCLURE{fond=inclure/monsquelette-aside, env}>

Dans le fichier monsquelette, je crée une nouvelle variable dans
l’environnement : [(#BALISE|setenv{ma_balise})]. Lorsque j’affiche le
contenu de la variable environnement dans ce squelette
([<pre>(#ENV**|unserialize|print_r{1})</pre>]), je vois bien apparaître
ma variable « ma_balise ».

Par contre, dans le fichier monsquelette-aside.html, je ne retrouve pas
ma variable « ma_balise » lorsque j’affiche le contenu de la variable
environnement.

-Frédéric

Merci, c'est exactement ce que je cherche à faire, mais avec Z-Core.
L'astuce est effectivement alambiquée.

-Frédéric

-----Message d'origine-----
De : Luis Speciale [mailto:lspeciale@gmail.com]
Envoyé : Friday, April 28, 2017 3:20 AM
À : spip@rezo.net
Objet : Re: [Spip] Z-core: possibilité de passer des variables entre les
modules content et aside d'une même page ?

https://contrib.spip.net/Astuces-longues-pour-SPIP#a1

En revanche, je n'ai JAMAIS réussi à le faire fonctionner. Si tu arrives,
STP, reviens et dis-nous

Le 28/04/2017 à 00:08, Frederic Lohier a écrit :

Bonjour,

Est-il possible de passer des variables entre les modules Z-Core
(content, aside, extra, etc.) d’une même page ? J’ai essayé le filtre
|setenv qui permet d’ajouter une variable dans l’environnement dans la
partie « content » d’une page, mais je ne retrouve pas cette variable
dans les autres parties de la page, par exemple dans la partie « aside

».

Ce que j’ai essayé. J’ai les pages :

- content/ma-page.html

- aside/ma-page.html

dans content/ma-page.html, j’inclus un squelette qui se trouve dans
inclure/monsquelette.html en passant l’environnement:
<INCLURE{fond=inclure/monsquelette, env}>

idem, dans aside/ma-page.html, j’inclus un autre squelette qui se
trouve dans inclure/monsquelette-aside.html en passant aussi

l’environnement :

<INCLURE{fond=inclure/monsquelette-aside, env}>

Dans le fichier monsquelette, je crée une nouvelle variable dans
l’environnement : [(#BALISE|setenv{ma_balise})]. Lorsque j’affiche le
contenu de la variable environnement dans ce squelette
([<pre>(#ENV**|unserialize|print_r{1})</pre>]), je vois bien
apparaître ma variable « ma_balise ».

Par contre, dans le fichier monsquelette-aside.html, je ne retrouve
pas ma variable « ma_balise » lorsque j’affiche le contenu de la
variable environnement.

-Frédéric

_______________________________________________
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 28/04/2017 à 16:06, Frederic Lohier a écrit :

Merci, c'est exactement ce que je cherche à faire, mais avec Z-Core.
L'astuce est effectivement alambiquée.

C'est alambiqué parce que le besoin de départ est alambiqué. Je ne dis pas qu'il n'y a pas d'exception, ça arrive, mais à priori c'est assez souvent le signe que la conception de base du problème est peut-être à revoir.

--
RastaPopoulos