This isn’t normal. I forward to spip-dev : this is certainly a bug of this version
I'm not sure.
You need to look at the PHP code produced by SPIP for your skel, or for a very short skel with just your bug.
I think that dynamic tag create a PHP code, like
[ before (#DYNAMIC) after ] is understood as [ before ("<?php return balise_DYNAMIC_stat(); (or anything else) ?>") after ]
So, for SPIP, there is allways content into.
MM.
Hi,
I think that dynamic tag create a PHP code, like
[ before (#DYNAMIC) after ] is understood as [ before (« <?php return balise_DYNAMIC_stat(); (or anything else) ?> ») after ]So, for SPIP, there is allways content into.
An empty string is a positive content for SPIP ?
The case described here is a function that returns NULL;
Алексей Ярощук : could you share the generated PHP cache (with a template that produces the bug as small as possible) ?
On http://spip.pastebin.fr/ for ex.
Thanks,
.Gilles
Ok, je crois que j’ai pigé.
Par contre, si on met le résultat dans un #SET, ça ne permet pas de contourner ce problème ?
#SET{variable,#DYNAMIQUE}
[avant (#GET{variable}) apres]
?
2012/4/14 Matthieu Marcillaud <marcimat@rezo.net>
C'est d'ailleurs quelque part dans la doc il me semble : les parties conditionnelles ET les filtres ne peuvent être appliqués qu'à des balises statiques.
La doc officielle sur la syntaxe générale :
http://www.spip.net/fr_article899.html
"attention : cet affichage conditionnel ne fonctionne pas avec les balises dynamiques (par exemple #URL_LOGOUT)."
Bonjour,
Je vais écrire en français, tu traduiras Gilles ?
Je viens de vérifier mes dires et c'est effectivement cela :
une balise dynamique retourne comme contenu un code PHP qui sera exécuté. Le code est créé par synthetiser_balise_dynamique() appelé par executer_balise_dynamique() dans ecrire/public/composer.php
Ce code PHP, c'est le contenu retourné par la balise. À ce moment là, on ne sait pas ce que produira le code PHP lorsqu'il sera exécuté, c'est ça le dynamisme ! On ne sait pas s'il retournera ou non du contenu.
On ne peut donc pas appliquer [ avant (#DYNAMIQUE) après ] car cela renvoie toujours «avant» et «après» car la balise retourne toujours du contenu (le code PHP à exécuter).
Est-ce plus clair ?
Matthieu.
Le 14/04/2012 01:46, Gilles Vincent a écrit :
Hi,
On Fri, Apr 13, 2012 at 9:34 PM, Matthieu Marcillaud
<marcimat@rezo.net
<mailto:marcimat@rezo.net>> wrote:I think that dynamic tag create a PHP code, like
[ before (#DYNAMIC) after ] is understood as [ before ("<?php return
balise_DYNAMIC_stat(); (or anything else) ?>") after ]So, for SPIP, there is allways content into.