'jour,
Comment je peux rendre ça (dans la page article.html) en langage SPIP svp ?
<code>
<?php
if(#ID_ARTICLE == 11) {
print 'Je vous aime';
}
?>
<?php
if (#ID_ARTICLE == 30 || #ID_ARTICLE == 32) {
print '#TEXTE';
}
else {
print '';
}
?>
</code>
Ca doit bien exister ? Il y en a bien un(e) parmi vous qu'il y a pensé ?
Précision : ça fonctionne très bien ainsi, mais je voudrais le coder en SPIP.
Sankseulotte.
-- Franck
Tu peux faire [(#ID_ARTICLE|=={11}|?{' '}) Je vous aime] pour le premier et
[(#ID_ARTICLE|regexp{30, 32}|?{' '}) #TEXTE]
-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net] De la part de
Franck Ducas
Envoyé : samedi 27 septembre 2008 11:52
À : SPIP REZO
Objet : [Spip] Rendre un bout de code PHP en langage SPIP dans squelette
'jour,
Comment je peux rendre ça (dans la page article.html) en langage SPIP svp ?
<code>
<?php
if(#ID_ARTICLE == 11) {
print 'Je vous aime';
}
?>
<?php
if (#ID_ARTICLE == 30 || #ID_ARTICLE == 32) {
print '#TEXTE';
}
else {
print '';
}
?>
</code>
Ca doit bien exister ? Il y en a bien un(e) parmi vous qu'il y a pensé ?
Précision : ça fonctionne très bien ainsi, mais je voudrais le coder en
SPIP.
Sankseulotte.
-- Franck
_______________________________________________
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/
irc://irc.freenode.net/spip ou
http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
Franck Ducas <franck.ducas <at> free.fr> writes:
Comment je peux rendre ça (dans la page article.html) en langage SPIP svp ?
<code>
<?php
if(#ID_ARTICLE == 11) {
print 'Je vous aime';
}
?>
code SPIP:
[(#ID_ARTICLE|=={11}|?{Je vous aime})]
<?php
if (#ID_ARTICLE == 30 || #ID_ARTICLE == 32) {
print '#TEXTE';
}
else {
print '';
}
?>
code SPIP:
[(#ID_ARTICLE|match{^(30|32)$}|?{
[(#TEXTE)]
,
''
})]
ou, si tu veux faire des choses plus complexe que simplement [(#TEXTE)]
[(#ID_ARTICLE|match{^(30|32)$}|?{' ',''})
le code si le test est OK
]
[(#ID_ARTICLE|match{^(30|32)$}|?{'',' '})
le code si le test n'est PAS OK
]
Attention! dans tous les cas il faut que toutes les #BALISEs que tu mets dans
les parties conditionnelles soient entre [(...)] sinon ça plante
Ca doit bien exister ? Il y en a bien un(e) parmi vous qu'il y a pensé ?
heureusement que ça existe: c'est SPIP quand même!
Si tu veux aller plus loin, tu aura ensuite besoin de faire la même chose avec
des boucles dans le résultat de ton test et là il te faudra (par exemple)
utiliser la bidouille des "BOUCLEs feintes" brillamment expliquée dans le
paragraphe "Parties optionnelles des balises" de cet article
Précision : ça fonctionne très bien ainsi, mais je voudrais le coder en
SPIP.
ça fonctionne peut être mais c'est *mal* de mettre du PHP dans les squelettes !
Xébiaut a écrit :
Tu peux faire [(#ID_ARTICLE|=={11}|?{' '}) Je vous aime] pour le premier et
[(#ID_ARTICLE|regexp{30, 32}|?{' '}) #TEXTE]
Ca me colle un message d'erreur en début de page sur les rubriques (?) au niveau de la fonction getsizeimage() et un pb de "regexp" sur la page des articles.
Ceci après avoir viré le code php et avoir fait ça dans le squelette :
<code>
[(#ID_ARTICLE|=={11}|?{' '}) Je vous aime]
[(#ID_ARTICLE|regexp{30, 32}|?{' '}) #TEXTE]
</code>
Mais merci quand même. Je vais creuser ton exemple.
-- Franck
cy_altern a écrit :
code SPIP: [(#ID_ARTICLE|=={11}|?{Je vous aime})]
Impeccable !
http://jmpechart.com/spip.php?article11
[(#ID_ARTICLE|match{^(30|32)$}|?{
[(#TEXTE)]
,
''
})]
Ca défrise aussi.
http://jmpechart.com/spip.php?article30
http://jmpechart.com/spip.php?article32
Et sur les autres, rien (par exemple) :
http://jmpechart.com/spip.php?article73
Donc nickel, avec un seul squelette et deux lignes !
ou, si tu veux faire des choses plus complexe que simplement [(#TEXTE)]
[(#ID_ARTICLE|match{^(30|32)$}|?{' ',''})
le code si le test est OK
]
[(#ID_ARTICLE|match{^(30|32)$}|?{'',' '})
le code si le test n'est PAS OK
]
/snip
Si tu veux aller plus loin, tu aura ensuite besoin de faire la même chose avec
des boucles dans le résultat de ton test et là il te faudra (par exemple)
utiliser la bidouille des "BOUCLEs feintes" brillamment expliquée dans le
paragraphe "Parties optionnelles des balises" de cet article
Les traitements conditionnels avec SPIP - Le labo
Merci beaucoup ! Ce logiciel me rendra toujours mon regard d'enfant sur les choses que l'on peut faire avec !
-- Franck
C la seconde boucle qui doit etre mauvaise
Il faut que tu regardes du coté de la balise #ARRAY
-----Message d'origine-----
De : Franck Ducas [mailto:franck.ducas@free.fr]
Envoyé : samedi 27 septembre 2008 12:56
À : Xébiaut
Cc : 'SPIP REZO'
Objet : Re: [Spip] Rendre un bout de code PHP en langage SPIP dans squelette
Xébiaut a écrit :
Tu peux faire [(#ID_ARTICLE|=={11}|?{' '}) Je vous aime] pour le premier
et
[(#ID_ARTICLE|regexp{30, 32}|?{' '}) #TEXTE]
Ca me colle un message d'erreur en début de page sur les rubriques (?)
au niveau de la fonction getsizeimage() et un pb de "regexp" sur la page
des articles.
Ceci après avoir viré le code php et avoir fait ça dans le squelette :
<code>
[(#ID_ARTICLE|=={11}|?{' '}) Je vous aime]
[(#ID_ARTICLE|regexp{30, 32}|?{' '}) #TEXTE]
</code>
Mais merci quand même. Je vais creuser ton exemple.
-- Franck