Récupérer le logo de l’article d’origine - site multilingue

SPIP 1.7.1. - Pour que tous les logos des articles traduits reprennent le logo de l’article “langue d’origine”.

L’idée de cette boucle hyper simple, pour un site multilingue, est de ne pas encombrer le dossier IMG de 36 000 fois le même logo, mais de se servir d’un seul et même logo (celui de l’article d’origine-référence langue) pour tous les articles traduits.

Conditions :

-  SPIP 1.7.1
-  activer dans l’espace privé
Administration du site / icone Gestion des langues / icone Multilinguisme / cadre d’options Multilinguisme / Gérer les liens de traduction ?
en cliquant sur “oui” et valider
-  pour chaque article en langue autre que celle d’origine, ne pas oublier d’indiquer quel est l’article de référence pour que la balise fonctionne (cf LANGUE ET TRADUCTIONS DE L’ARTICLE).

Mise en place (2 secondes):

insérer partout où vous voulez dans vos squellettes le logo de l’article d’origine en incluant dans votre code html :

<BOUCLE_logo_trad(ARTICLES){id_article}>
                <BOUCLE_logo_origine(ARTICLES){id_trad}>
                [(#LOGO_ARTICLE|left)]
                </BOUCLE_logo_origine>
        </BOUCLE_logo_trad>
                [(#LOGO_ARTICLE|left)]
        <//B_logo_trad>

(remplacer “left” par “right” pour l’avoir à droite)

Cette boucle affiche donc pour les articles traduits le logo de l’article “d’origine”, et pour l’article d’origine, son propre logo (qu’il vous faudra pour le coup bel et bien télécharger).

updated on 7 May 2012

Discussion

7 discussions

  • Bonjour,

    il semble y avoir un effet de bord avec SPIP 3.1 :

    il faut ajouter remplacer id_trad par traduction

    sinon tous les logos des articles (de la langue d’origine) du site s’affichent.

    dd

    Reply to this message

  • Bonsoir,

    En 2011 avec 2.1.10, toujours efficace, merci

    Nicolas

    Reply to this message

  • 2

    À la place du critère {id_trad}, on peut utiliser le critère {traduction}{origine_traduction} qui prend l’article de référence, même si c’est l’article courant.
    Ainsi, on évite de dupliquer tout l’html dans un bloc <//B_logo_trad>.

    • Le critère origine_traduction est en effet efficace par exemple avec la boucle suivante on récupère dans une rubrique donnée tous les articles correspondant à la langue courante et pour chaque article, le logo de l’article de référence.

      <BOUCLE_articles_rubrique(ARTICLES) {id_rubrique}{lang}>
      <BOUCLE_logo_origine_traduction(ARTICLES){traduction}{origine_traduction}>
      [(#LOGO_ARTICLE_RUBRIQUE)]})]
      </BOUCLE_logo_origine_traduction>
      </BOUCLE_articles_rubrique>

      Malheureusement, si on veut associer des informations à ce logo, ce sera les informations issues de l’article de référence. Ainsi, dans le cas du code ci-dessous, les balises “title” et “alt” du logo seront dans la langue de référence et non dans la langue courante. Plus ennuyeux, l’url renverra vers l’article de référence et non vers l’article traduit.

      <BOUCLE_articles_rubrique(ARTICLES) {id_rubrique}{lang}>
      <BOUCLE_logo_origine_traduction(ARTICLES){traduction}{origine_traduction}>
      [(#LOGO_ARTICLE_RUBRIQUE|left|#URL_ARTICLE|image_reduire{75,75}
      |inserer_attribut{alt,[(#TITRE|textebrut)]}
      |inserer_attribut{title,[(#SOUSTITRE|textebrut)]})]
      </BOUCLE_logo_origine_traduction>
      </BOUCLE_articles_rubrique>

      En conclusion, le code fonctionne bien dans un article mais n’est pas une solution dans un menu de rubrique par exemple...

    • il suffit de “sortir” le titre et lien de l’article de la 1ere boucle, non ?

      j’écrirais...

      <BOUCLE_articles_rubrique(ARTICLES) {id_rubrique}{lang?}>
      
      <BOUCLE_logo_origine_traduction(ARTICLES){traduction}{origine_traduction}>
      [(#LOGO_ARTICLE_RUBRIQUE|left|image_reduire{75,75})]
      </BOUCLE_logo_origine_traduction>
      
      #URL_ARTICLE
      #TITRE
      </BOUCLE_articles_rubrique>

      Le titre renvoi alors à l’article de la traduction en cours (critère lang? )

    Reply to this message

  • sur une 1.9 ca fonctionne pas.
    Le but serait d’avoir automatiquement le logo de la rubrique si il existe, sinon automatiquement qu’il prenne celui de l’article d’origine, et si aucun des deux, rien ne s’affiche. J’ai pas eu le temps de mieux tester les boucles mais n’y suis pas arrivé pour le moment

    Reply to this message

  • comme j’ai pas mal tatonné pour trouver quel était le bon code avec 1.6.1 je donne ci-dessous le code qui marche pour moi:

    <BOUCLE_logo_trad(ARTICLES){id_article}>
                    <BOUCLE_logo_origine(ARTICLES){traduction}{origine_traduction}{doublons}>
                    [(#LOGO_ARTICLE|center||reduire_image{200})]
                    </BOUCLE_logo_origine>       
                    [(#LOGO_ARTICLE|center||reduire_image{200})]</BOUCLE_logo_trad>
                            <//B_logo_trad>

    cela n’affiche pas les logos en double
    catherine

    Reply to this message

  • en faisant un copier-coller, il m’affiche deux logos (celui del’article et de la rubrique apres...)

    je suis sur 1.8b2

    comprend pas...
    :-(

    Reply to this message

  • Michel Possoz

    Bonjour,

    Bonne contribution pour reduire la taille memoire cote client et serveur.

    Je suis en version 1.8 a2 et la boucle proposee retourne tout les logos present dans tout les articles. Je pense que ce probleme devrait etre present dans la version 1.7.1.

    Il y a lieu d’ajouter le critere

    id_trad>0

    au critere

    id_trad

    pour corrige le probleme. Je pense qu’il y a depuis lors un nouveau critere traduction disponible ?

    Bien a vous.
    Michel

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom