Je galère un peu avec les blocs multi

Bonjour,

les blocs multi
sont un outil
plutôt pratique

mais j'ai aussi
quelques soucis
ésotériques

par exemple, j'ai une petite image PNG qui dit "prochains evenements", et un site bilingue. Dans mon squelette sommaire, j'écris :

<multi>[fr]<img src="image_fr.png"> [en]<img src="image_en.png"></multi>

Mais ce code m'affiche les deux images, précédées de [fr] et [en]...
Comment se fait-il que ça ne marche pas ? Est-ce normal ?

J'ai un problème similaire dans une boucle EVENEMENTS, pour remplacer les "du XXXX au XXXX" par un "from XXXX to XXXX". Le code ci-dessous, qui fonctionne parfaitement quand je mets juste du français, ne fonctionne pas lorsque je mets les blocs multi :

<BOUCLE_lesevenements(EVENEMENTS) {tous}{age<=15}>
<li>[(#TITRE)]
<small>
   [(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
[(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
[(#HORAIRE|=={oui}|?{
    [(#REM) memes heures ?]
      [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave
[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
    [(#REM) pas memes heures ?]
      [(#DATE_DEBUT|!={#DATE_FIN}|?{de
[(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave;
[(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
,''})]
,
   <multi>[fr]du [en]from</multi> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
[(#HORAIRE|=={oui}|?{&agrave; partir de
   [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] <multi>[fr]au [en]to</multi>
[(#DATE_FIN|nom_jour)]
   [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
   [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})] })]

Ce code m'affiche

[(2010-03-18 00:00:00|jour|=={19}|?{ Thursday 18 March 2010 , from Thursday 18 March 2010 au Friday 19 March 2010 })]

Si vous avez une idée pour me venir en aide, ça me ferait bien plaisir.

J'ai effectivement noté que les champs multi se mélangeaient un peu les pinceaux lorsqu'il y avait des < et des > dans le bloc
Pour tes image_fr.png et image_en.png

Solution 1 « en dur » dans local_fr.php et local_en.php
'icone => 'http://www.lesite.com/images/image_fr.png ',
Dans local_en.php :
'icone' => 'http://www.lesite.com/images/image_en.png ,

et appel par < :icone:> - inconvénient pas idéal si travail sur le site en local

Solution 2
A partir du squelette de la forme :
<img src="image_#LANG.png">
et générer autant de fichier images qu’il y a de langues

Solution 3 – Champs multis
<img src="#URL_SITE_SPIP/<multi>[fr]images/icone_imprime_fr.gif[en]images/icone_imprime_en.gif</multi> >

Tonton BP

Martin Granger a écrit :

Bonjour,

les blocs multi
sont un outil
plutôt pratique

mais j'ai aussi
quelques soucis
ésotériques

par exemple, j'ai une petite image PNG qui dit "prochains evenements", et un site bilingue. Dans mon squelette sommaire, j'écris :

<multi>[fr]<img src="image_fr.png"> [en]<img src="image_en.png"></multi>

Mais ce code m'affiche les deux images, précédées de [fr] et [en]...
Comment se fait-il que ça ne marche pas ? Est-ce normal ?

J'ai un problème similaire dans une boucle EVENEMENTS, pour remplacer les "du XXXX au XXXX" par un "from XXXX to XXXX". Le code ci-dessous, qui fonctionne parfaitement quand je mets juste du français, ne fonctionne pas lorsque je mets les blocs multi :

<BOUCLE_lesevenements(EVENEMENTS) {tous}{age<=15}>
<li>[(#TITRE)]
<small>
[(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
[(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
[(#HORAIRE|=={oui}|?{
[(#REM) memes heures ?]
[(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave
[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
[(#REM) pas memes heures ?]
[(#DATE_DEBUT|!={#DATE_FIN}|?{de
[(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave;
[(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
,''})]
,
<multi>[fr]du [en]from</multi> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
[(#HORAIRE|=={oui}|?{&agrave; partir de
[(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] <multi>[fr]au [en]to</multi>
[(#DATE_FIN|nom_jour)]
[(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
[(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})] })]

Ce code m'affiche

[(2010-03-18 00:00:00|jour|=={19}|?{ Thursday 18 March 2010 , from Thursday 18 March 2010 au Friday 19 March 2010 })]

Si vous avez une idée pour me venir en aide, ça me ferait bien plaisir.
_______________________________________________
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

Deux solutions :
- <img src="image_#LANG.png">

- ou, plus général :
[(#LANG |=={fr} |?{<img src="image_fr.png">})]
[(#LANG |=={en} |?{<img src="image_fr.png">})]

A bientôt
    Simon

Martin Granger a écrit :

Bonjour,

les blocs multi
sont un outil
plutôt pratique

mais j'ai aussi
quelques soucis
ésotériques

par exemple, j'ai une petite image PNG qui dit "prochains evenements", et un site bilingue. Dans mon squelette sommaire, j'écris :

<multi>[fr]<img src="image_fr.png"> [en]<img src="image_en.png"></multi>

Mais ce code m'affiche les deux images, précédées de [fr] et [en]...
Comment se fait-il que ça ne marche pas ? Est-ce normal ?

J'ai un problème similaire dans une boucle EVENEMENTS, pour remplacer les "du XXXX au XXXX" par un "from XXXX to XXXX". Le code ci-dessous, qui fonctionne parfaitement quand je mets juste du français, ne fonctionne pas lorsque je mets les blocs multi :

<BOUCLE_lesevenements(EVENEMENTS) {tous}{age<=15}>
<li>[(#TITRE)]
<small>
  [(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
[(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
[(#HORAIRE|=={oui}|?{
   [(#REM) memes heures ?]
     [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave
[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
   [(#REM) pas memes heures ?]
     [(#DATE_DEBUT|!={#DATE_FIN}|?{de
[(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave;
[(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
,''})]
,
  <multi>[fr]du [en]from</multi> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)]
[(#HORAIRE|=={oui}|?{&agrave; partir de
  [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] <multi>[fr]au [en]to</multi>
[(#DATE_FIN|nom_jour)]
  [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
  [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})] })]

Ce code m'affiche

[(2010-03-18 00:00:00|jour|=={19}|?{ Thursday 18 March 2010 , from Thursday 18 March 2010 au Friday 19 March 2010 })]

Si vous avez une idée pour me venir en aide, ça me ferait bien plaisir.
_______________________________________________
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

merci à Simon et BP.
Pour info, j'ai finalement utilisé des <:fichiers_de_langue:> dans ma boucle EVENEMENTS, et j'ai utilisé un filtre image_typo avec un champ sous-titre qui ne me servait pas. Du coup j'ai bien une chouette image "next events" qui devient "prochains événements" quand on est en french etc.

Décidément cette liste
Est la seule qui vaille
les échanges n'y sont pas tristes
On y fait de belles trouvailles
Elle me met sur la bonne piste
Sans jamais me mâcher le travail

Houlala on dirait un poème de fête des mères, quelle angoisse.