Récupérer automatiquement les documents joints lors de la traduction d'un article

Bonjour,

J’ai une question concernant la traduction des articles dans des sites internet spip multilingues.

Lorsque l’on traduit un article dans le menu "langue et traduction de l’article", le texte contenu dans les différents champs est automatiquement affiché. Par contre, les documents et les images joints n’apparaissent pas.

Voici un code que j'ai tenté. Le texte est correctement traduit, mes les images de ma boucle documents ne sont pas récupérés.

voilà mon code :
<B_article>

<div id="content">

  <BOUCLE_article(ARTICLES){id_article}>
    #PS

  <BOUCLE_docs(DOCUMENTS){id_article}{extension==jpg|png|gif}{mode=document}{par num titre}{par date}>
     [(#FICHIER|image_reduire{0,350}|image_recadre{525,350}|inserer_attribut{'alt',#TITRE})]
  </BOUCLE_docs>

    #TEXTE

</div>

<div id="contentsecond">

[(#REM) boucle pour l'affichage des articles ]

<BOUCLE_articlesecond(ARTICLES){id_rubrique}{par date}{inverse}{exclus}{lang}>
   <a href="#URL_ARTICLE" class="descriptif">#DESCRIPTIF</a><br />
   <a href="#URL_ARTICLE" class="titrerubrique">#TITRE</a>
   <span class="paragrapherubrique">
        #CHAPO<br />
   </span>
</div>
   </BOUCLE_articlesecond>
   </BOUCLE_article>

</B_article>

<div id="content">
<BOUCLE_articletrad(ARTICLES){origine_traduction}>
#PS

<BOUCLE_docstrad(DOCUMENTS){id_article}{extension==jpg|png|gif}{mode=document}{par num titre}{par date}>
                                                         [(#FICHIER|image_reduire{0,350}|image_recadre{525,350}|inserer_attribut{'alt',#TITRE})]
</BOUCLE_docstrad>

#TEXTE

</div>

<div id="contentsecond">

[(#REM) boucle pour l'affichage des articles ]

   <BOUCLE_articlesecondtrad(ARTICLES){id_rubrique}{par date}{inverse}{exclus}{lang}>
   <a href="#URL_ARTICLE" class="descriptif">#DESCRIPTIF</a><br />
   <a href="#URL_ARTICLE" class="titrerubrique">#TITRE</a>
   <span class="paragrapherubrique">
        #CHAPO<br />
   </span>
</div>
   </BOUCLE_articlesecondtrad>
   </BOUCLE_articletrad>

<//B_article>

et cela ne fonctionne pas correctement.

Aussi dans la logique, ça me semblerait plus adapté de placer le critère lang sur la boucle article et de placer le critère origine_traduction dans la boucle documents.
par exemple :
<BOUCLE_article(ARTICLES){id_article}{lang}>
  #TEXTE
    <BOUCLE_docs(DOCUMENTS){id_article}{critère...}{origine_traduction}>
     #FICHIER
   </BOUCLE_docs>
</BOUCLE_article>

Mais là aussi, les images ne sont pas récupérées.

Quelqu'un at-il un solution ?

Merci
Filippo

Filippo (rezo spip) a écrit :

et cela ne fonctionne pas correctement.

disons pas comme tu le souhaiterais, mais probablement correctement pour la syntaxe de spip (sauf bug bien sur)....

Mais que veux-tu au juste ?
avoir des documents uniquement sur l'article original ?

Aussi dans la logique, ça me semblerait plus adapté de placer le critère lang sur la boucle article et de placer le critère origine_traduction dans la boucle documents.

non, c'est les articles qui sont des traductions d'autres articles, les documents n'ont ni langue ni traduction

ta premiere approche semblait pas mal, mais il faut etre plus précis sur ce que tu veux afficher et dans quel contexte (quand je suis sur l'article original / quand je suis sur un article traduction)

@++

bon, si je resume, tu es en train de modifier le squelette article
que tu affiches un article ou sa traduction, c'est le meme squelette qui est appelé (?)
donc tu est dans ta boucle principale article, il suffit de mettre :

       <BOUCLE_docs(DOCUMENTS){id_article=#ID_TRAD}{extension==jpg|png|gif}{mode=document}{par num titre}{par date}>
           [(#FICHIER|image_reduire{0,350}|image_recadre{525,350}|inserer_attribut{'alt',#TITRE})]

      </BOUCLE_docs>
pour l'article original, #ID_TRAD=#ID_ARTICLE donc ca marchera dans les 2 cas

@++