Squelette qui cause à la noisette.

Bonsoir,

petite question technique.
J'ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre...) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.

Bonsoir

J’aurrais dit {env} dans le inclure mais il manque un bout de mémoire.

Pierre

Le 13 janvier 2010 21:05, Olivier Gautier <olivier.gautier@ac-rouen.fr> a écrit :

Bonsoir,

petite question technique.
J’ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre…) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.


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

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

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

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

Si tu veux absolument savoir si tu est dans le squelette sommaire.html ou dans article.html (etc.), tu as la balise #SQUELETTE

Cordialement,

Teddy Payet
teddy.spip@gmail.com


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/
Programmer avec SPIP : http://programmer.spip.org/
irc://irc.freenode.net/spip
FAQ webmaster: http://www.spip.net/fr_article1054.html
FAQ technique: http://www.spip.net/fr_rubrique170.html
FAQ de l’administrateur: http://www.spip.net/fr_article1112.html

Le 13 janv. 10 à 21:07, Pierre KUHN a écrit :

Bonsoir

J’aurrais dit {env} dans le inclure mais il manque un bout de mémoire.

Pierre

Le 13 janvier 2010 21:05, Olivier Gautier <olivier.gautier@ac-rouen.fr> a écrit :

Bonsoir,

petite question technique.
J’ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre…) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.


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

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

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

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


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

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

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

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

Si tu veux absolument savoir si tu est dans le squelette sommaire.html ou dans article.html (etc.), tu as la balise #SQUELETTE

Merci, c’est effectivement ça qu’il me fallait, encore jamais utilisé…

Cordialement,
Olivier Gautier.

Si tu veux absolument savoir si tu est dans le squelette sommaire.html ou dans article.html (etc.), tu as la balise #SQUELETTE

Merci, c’est effectivement ça qu’il me fallait, encore jamais utilisé…

Ah ben non… ça me renvoie bien le chemin de ma noisette mais pas d’information sur le squelette dans lequel est est incluse, dommage…

Olivier Gautier a écrit :

Bonsoir,

petite question technique.
J'ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre...) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.

A toi de passer l'information voulue au moment de l'inclusion (donc dans le squelette appelant)

tu peux par exemple dans sommaire ajouter {depuissommaire=1} à ton inclusion et du coup dans ta noisette faire :
[(#ENV(depuisommaire)|oui) truc affiché pour sommaire]

mais tu peux peut etre exploiter une info utile et déja passé, genre :
[(#ENV(id_rubrique)|non) truc affiché pour sommaire]

il faut voir, ca dépend du contexte de ta noisette...

@++

Euh… en fait tu veux savoir quoi?
Il me semble que #SQUELETTE te dira quelque chose du genre : squelettes/sommaire.html ou nomdetonsite.ext/squelettes/sommaire.html…
Tu voulais savoir si tu étais dans tel ou tel squelette, non? C’est sa fonction…

Quelle est ta boucle dépendante de cette information? Que veux tu en faire?
On pourrait mieux t’aiguiller avec une information plus concrète…

Tu peux faire ceci (avec SPIP-Bonux) :

<BOUCLE_sommaire(CONDITION){si #ENV{skel}|=={squelettes/sommaire.html}}>
<BOUCLE_n1(ARTICLES){tes_critères}>
blabla
</BOUCLE_n1>
</BOUCLE_sommaire>
</B_sommaire>
<BOUCLE_autresipas_sommaire(RUBRIQUES){tescritères}>
bla2 bla2 bla2
</BOUCLE_autresipas_sommaire>
<//B_sommaire>

etc.

Le 13/01/2010 21:58, Stephane a écrit :

Olivier Gautier a écrit :

Bonsoir,

petite question technique.
J'ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre...) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.

A toi de passer l'information voulue au moment de l'inclusion (donc dans le squelette appelant)

tu peux par exemple dans sommaire ajouter {depuissommaire=1} à ton inclusion et du coup dans ta noisette faire :
[(#ENV(depuisommaire)|oui) truc affiché pour sommaire]

mais tu peux peut etre exploiter une info utile et déja passé, genre :
[(#ENV(id_rubrique)|non) truc affiché pour sommaire]

il faut voir, ca dépend du contexte de ta noisette...

Merci pour la proposition de la variable d'environnement, j'y avais pensé mais cela ne me convient pas non plus : en fait, je ne veux (peux) pas toucher aux squelettes de base mais uniquement aux noisettes pour diverses raisons... Il n'y a visiblement pas de choses toutes faites qui donnent ce que j'attends... Dommage. Il va falloir que je me creuse les idées un peu plus...

Quant à [(#ENV(id_rubrique)|non) truc affiché pour sommaire] , il y a aussi des pages comme le plan du site ou la page de recherche qui seraient ciblées, et cela ne me convient pas davantage...

Merci,
Olivier Gautier.

@++

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

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

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

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

Euh… en fait tu veux savoir quoi?
Il me semble que #SQUELETTE te dira quelque chose du genre : squelettes/sommaire.html ou nomdetonsite.ext/squelettes/sommaire.html…
Tu voulais savoir si tu étais dans tel ou tel squelette, non? C’est sa fonction…

Pas tout à fait, pour être plus précis : j’ai mon sommaire.html qui contient par exemple <INCLURE{fond=ma_noisette}{env}>
Je veux, dans ma_noisette.html, pouvoir poser un code qui me dise si je suis bien exécuté dans sommaire.html ou non sans pour autant toucher au code de sommaire.html
Cela ne semble visiblement pas possible, dommage. Je pensais qu’il pouvait peut-être y avoir une variable d’environnement automatiquement créée par SPIP qui donne le contexte dans lequel la noisette est incluse mais cela n’existe visiblement pas.

Cordialement,
Olivier Gautier.

Olivier Gautier a écrit :

Le 13/01/2010 21:58, Stephane a écrit :

Olivier Gautier a écrit :

Bonsoir,

petite question technique.
J'ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre...) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.

A toi de passer l'information voulue au moment de l'inclusion (donc dans le squelette appelant)

tu peux par exemple dans sommaire ajouter {depuissommaire=1} à ton inclusion et du coup dans ta noisette faire :
[(#ENV(depuisommaire)|oui) truc affiché pour sommaire]

mais tu peux peut etre exploiter une info utile et déja passé, genre :
[(#ENV(id_rubrique)|non) truc affiché pour sommaire]

il faut voir, ca dépend du contexte de ta noisette...

Merci pour la proposition de la variable d'environnement, j'y avais pensé mais cela ne me convient pas non plus : en fait, je ne veux (peux) pas toucher aux squelettes de base mais uniquement aux noisettes pour diverses raisons... Il n'y a visiblement pas de choses toutes faites qui donnent ce que j'attends... Dommage. Il va falloir que je me creuse les idées un peu plus...

Quant à [(#ENV(id_rubrique)|non) truc affiché pour sommaire] , il y a aussi des pages comme le plan du site ou la page de recherche qui seraient ciblées, et cela ne me convient pas davantage...

ah, OK.
Mais non, tu ne cherches pas dans la bonne direction, le principe meme de la noisette, c'est de pouvoir exploiter un meme cache depuis plusieurs endroits => à contexte identique, tu ne pourras pas avoir 2 codes differents.
Tu peux peut etre tenter quelque chose sur la balise #SELF mais meme pas sur.

Mais bon, rien ne t'empeche de mettre un petit if php qui test directement la variable $_SERVER....
=> meme code mais à l'execution, pas le meme resultat, c'est donc soit ca, soit une balise dynamique

@++

Le 13/01/2010 22:23, Stephane a écrit :

Olivier Gautier a écrit :

Le 13/01/2010 21:58, Stephane a écrit :

Olivier Gautier a écrit :

Bonsoir,

petite question technique.
J'ai une noisette qui est située derrière plusieurs inclusions dans divers squelettes (sommaire.html, article.html, etc.).
Je veux que la noisette ait un comportement différent si elle est située derrière sommaire.html ou si elle est située derrière un autre squelette.
Y a-t-il un moyen rapide (une balise technique ou autre...) pour savoir si on est dans un environnement inclus derrière sommaire.html ?

Merci par avance pour vos réponses,
Olivier Gautier.

A toi de passer l'information voulue au moment de l'inclusion (donc dans le squelette appelant)

tu peux par exemple dans sommaire ajouter {depuissommaire=1} à ton inclusion et du coup dans ta noisette faire :
[(#ENV(depuisommaire)|oui) truc affiché pour sommaire]

mais tu peux peut etre exploiter une info utile et déja passé, genre :
[(#ENV(id_rubrique)|non) truc affiché pour sommaire]

il faut voir, ca dépend du contexte de ta noisette...

Merci pour la proposition de la variable d'environnement, j'y avais pensé mais cela ne me convient pas non plus : en fait, je ne veux (peux) pas toucher aux squelettes de base mais uniquement aux noisettes pour diverses raisons... Il n'y a visiblement pas de choses toutes faites qui donnent ce que j'attends... Dommage. Il va falloir que je me creuse les idées un peu plus...

Quant à [(#ENV(id_rubrique)|non) truc affiché pour sommaire] , il y a aussi des pages comme le plan du site ou la page de recherche qui seraient ciblées, et cela ne me convient pas davantage...

ah, OK.
Mais non, tu ne cherches pas dans la bonne direction, le principe meme de la noisette, c'est de pouvoir exploiter un meme cache depuis plusieurs endroits => à contexte identique, tu ne pourras pas avoir 2 codes differents.
Tu peux peut etre tenter quelque chose sur la balise #SELF mais meme pas sur.

En fonction du format d'URL, c'est pas forcément exploitable.

Bon, on va clore ici : merci à tous pour vos propositions.
La conclusion est qu'il vaut mieux que je gère cela avec une variable d'environnement dans sommaire.hmtl comme proposé au début.

Pourquoi je ne voulais pas de cela au départ me direz vous ?
Parce que cela va imposer que je modifie les sources de la distribution EVA-web uniquement pour un problème sur une plate-forme mutualisée locale.
Pas terrible, mais après tout ça ne gênera en rien les sites qui n'en ont pas besoin, et un p'tit bout de code perso est bien mérité pour une fois alors que je développe toujours pour les autres.

Bonne soirée,
Olivier Gautier.

Mais bon, rien ne t'empeche de mettre un petit if php qui test directement la variable $_SERVER....
=> meme code mais à l'execution, pas le meme resultat, c'est donc soit ca, soit une balise dynamique

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

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

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

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