article dans rubrique et #LANG

Bonjour
je suis dans une boucle rubrique ;
dans cette boucle rubrique j'affiche la liste des articles de cette rubrique ;
je souhaite afficher un drapeau du pays pour chaque article traduit ;
mais et c'est là que je n'y arrive pas ; l'article dans la langue en cours ne doit pas avoir son drapeau.

Exemple ici :
http://www.centrejaya.com/rubrique.php3?id_rubrique=3&var_mode=recalcul

En clair je ne souhaite pas que pour les articles en français il y ait le drapeau français.

J'utilise expose je suis en 1.8.3.d et ma boucle est la suivante :
                        <BOUCLE_articles(ARTICLES){id_rubrique}{par date}>

                        <BOUCLE_article(ARTICLES){id_article}>
                        <img src="IMG/002/puce.gif" width="8" height="11">
                        <B_traductions>
                        <span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR">
                        <BOUCLE_traductions(ARTICLES) {traduction} {par lang}>
                        [(#EXPOSE{ "", <a href="#URL_ARTICLE&amp;var_lang=#LANG" rel="alternate" hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>}
                        )<img src="#LANG.gif" width="18" height="10" border="0"></a> ]
                        </BOUCLE_traductions>
                        </span>
                        </B_traductions>
                        </BOUCLE_article>
                          </BOUCLE_articles>

Elle même dans une boucle rubrique.

Où puis je récupérer le contexte LANG de la liste des articles dans la rubrique ?

Merci d'avance.
Philippe

geea.spip a écrit :

Où puis je récupérer le contexte LANG de la liste des articles dans la rubrique ?

je ferais :

[(#LANG|!={#ENV{lang}}|?{
   <a href="[(#URL_ARTICLE|parametre_url{lang,#LANG})]" rel="alternate"
   hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>
   <img src="#LANG.gif" width="18" height="10" border="0">
   </a>
,
   ''
})]

Bonjour
merci de la réponse mais cela ne change rien.
Par contre le script est plus propre.
L'idée de vérifier que la langue passée par l'url est celle de la rubrique c'est plus simple.
Si dans l'url je passe la langue çà marche :
http://www.centrejaya.com/rubrique.php3?id_rubrique=67&lang=en
par contre je n'ai pas prévu de passer la langue dans l'url car je croyais qu'à partir du moment ou la langue par défaut de la rubrique était définie dans l'espace écrire cela permettait d'avoir le contexte langue ce qui n'est manifestement pas le cas.
Ai je mal compris ?

denisb a écrit :

geea.spip a écrit :

Où puis je récupérer le contexte LANG de la liste des articles dans la rubrique ?

je ferais :

[(#LANG|!={#ENV{lang}}|?{
  <a href="[(#URL_ARTICLE|parametre_url{lang,#LANG})]" rel="alternate"
  hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>
  <img src="#LANG.gif" width="18" height="10" border="0">
  </a>
,
  ''
})]

_______________________________________________
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

Bonjour,

J'ai pris la conversation en cours et par rapport à ton tout premier message, tu pourrais faire quelque chose de ce genre:
<BOUCLE_articles(ARTICLES){id_rubrique}{par date}>

<BOUCLE_article(ARTICLES){id_article}{origine_traduction}>
<img src="IMG/002/puce.gif" width="8" height="11">
<B_traductions>
<span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR">
<BOUCLE_traductions(ARTICLES) {traduction} {par lang}{exclu}>
[(#EXPOSE{"",<a href="#URL_ARTICLE&amp;var_lang=#LANG" rel="alternate" hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>}
)<img src="[(#LANG|replace{fr,spacer})].gif" width="18" height="10" border="0"></a> ]
</BOUCLE_traductions>
</span>
</B_traductions>
</BOUCLE_article>
</BOUCLE_articles>

J'ai repris exactement ta boucle, mais au drapeau, j'ai mis un replace en filtre. Ce qui fait qu'au lieu d'avoir un fr.gif, tu auras un spacer.gif (que tu créeras avec 1pixel de largeur et de hauteur et transparent.)
Mais bon, même le fr tu aurais pu le faire ainsi... Car apparemment dans ton contexte, tu n'utilises pas de drapeau fr.gif...

Sinon, autre possibilité:
[(#EXPOSE{"",<a href="#URL_ARTICLE&amp;var_lang=#LANG" rel="alternate" hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>}
)[(#LANG|=={fr}|?{' ','<img src="[(#LANG|replace{fr,spacer})].gif" width="18" height="10" border="0">'}</a>)] ]

Cordialement,

Teddy.

Le 17 nov. 08 à 06:19, geea.spip a écrit :

Bonjour
merci de la réponse mais cela ne change rien.
Par contre le script est plus propre.
L'idée de vérifier que la langue passée par l'url est celle de la rubrique c'est plus simple.
Si dans l'url je passe la langue çà marche :
http://www.centrejaya.com/rubrique.php3?id_rubrique=67&lang=en
par contre je n'ai pas prévu de passer la langue dans l'url car je croyais qu'à partir du moment ou la langue par défaut de la rubrique était définie dans l'espace écrire cela permettait d'avoir le contexte langue ce qui n'est manifestement pas le cas.
Ai je mal compris ?

denisb a écrit :

geea.spip a écrit :

Où puis je récupérer le contexte LANG de la liste des articles dans la rubrique ?

je ferais :

[(#LANG|!={#ENV{lang}}|?{
  <a href="[(#URL_ARTICLE|parametre_url{lang,#LANG})]" rel="alternate"
  hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>
  <img src="#LANG.gif" width="18" height="10" border="0">
  </a>
,
  ''
})]

_______________________________________________
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

_______________________________________________
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

geea.spip a écrit :

par contre je n'ai pas prévu de passer la langue dans l'url car je croyais qu'à partir du moment ou la langue par défaut de la rubrique était définie dans l'espace écrire cela permettait d'avoir le contexte langue ce qui n'est manifestement pas le cas.

...
mais si tu es sur une page rubrique, tu y a forcemment une boucle RUBRIQUES (englobante) non ?

tu peux faire (imaginons que ta boucle RUBRIQUES s'appelle ma_rub) :

[(#LANG|!={#_ma_rub:LANG}|?{
   <a href="[(#URL_ARTICLE|parametre_url{lang,#LANG})]" rel="alternate"
   hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>
   <img src="#LANG.gif" width="18" height="10" border="0">
   </a>
,
   ''
})]

dans ta boucle ARTICLES, '#LANG' est la langue de l'article
et '#_ma_rub:LANG' est la langue de la rubrique englobante.
(utilisation des balises non ambigues)

C'est la solution que j'ai adoptée.
En effet j'ai completement oublié çà : #_ma_rub:LANG ce qui donne le contexte de la langue de la rubrique englobante.
Propre et sans bavure.
Merci à toi ainsi qu'à Payet Teddy (réyoné ?) pour vos réponse rapides.

denisb a écrit :

geea.spip a écrit :

par contre je n'ai pas prévu de passer la langue dans l'url car je croyais qu'à partir du moment ou la langue par défaut de la rubrique était définie dans l'espace écrire cela permettait d'avoir le contexte langue ce qui n'est manifestement pas le cas.

...
mais si tu es sur une page rubrique, tu y a forcemment une boucle RUBRIQUES (englobante) non ?

tu peux faire (imaginons que ta boucle RUBRIQUES s'appelle ma_rub) :

[(#LANG|!={#_ma_rub:LANG}|?{
  <a href="[(#URL_ARTICLE|parametre_url{lang,#LANG})]" rel="alternate"
  hreflang="#LANG"[ title="(#TITRE|texte_backend)"]>
  <img src="#LANG.gif" width="18" height="10" border="0">
  </a>
,
  ''
})]

dans ta boucle ARTICLES, '#LANG' est la langue de l'article
et '#_ma_rub:LANG' est la langue de la rubrique englobante.
(utilisation des balises non ambigues)

_______________________________________________
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

Le 17 novembre 2008 12:48, geea.spip <geea.spip@gmail.com> a écrit :

C’est la solution que j’ai adoptée.
En effet j’ai completement oublié çà : #_ma_rub:LANG ce qui donne le contexte de la langue de la rubrique englobante.
Propre et sans bavure.
Merci à toi ainsi qu’à Payet Teddy (réyoné ?) pour vos réponse rapides.

Yep! De rien (et fier de l’être! :wink: )