SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 136 visiteurs en ce moment

Accueil > Multilinguisme > Traductions d’articles > Mettons un logo à l’article traduit

Mettons un logo à l’article traduit

11 février 2010 – par Suske – commentaires

4 votes

Dans un site multilingue, les rédacteurs/traducteurs sont rarement tous au fait des subtilités "logo et « documents joints ». Si les cas de figures peuvent être très variés pour ce qui concerne les images et documents intégrés au texte, la question du logo peut souvent se résumer à : il faudrait le même logo sur toutes les versions.

C’est du moins le cas que je rencontre le plus souvent.

Il existe, ici-même des contributions et, dans SPIP, un filtre qui permettent de récupérer aisément le logo de l’article d’origine.

Je voudrais ici me pencher sur un cas plusieurs fois rencontré et dans lequel le recours à l’article d’origine ne fournit pas toute la souplesse voulue :
-  l’article d’origine a été introduit par quelqu’un qui ne disposait pas d’un logo
-  un des traducteurs en mettra un
-  récupérons ce logo sur toutes les versions de l’article qui n’en n’ont pas.

Dans « article.html », j’ai quelque part :

  1. [(#LOGO_ARTICLE|fichier|?{'',' '})  <INCLURE{fond=inc/inc-logo-trad}{id_article}> ]
  2. [<span style="float:left">(#LOGO_ARTICLE||image_reduire{120})</span>]
  3. [<p class="#EDIT{surtitre} surtitre">(#SURTITRE)</p>]
  4. <h3 class="#EDIT{titre} entry-title">#TITRE</h1>
  5. [<p class="#EDIT{soustitre} soustitre">(#SOUSTITRE)</p>]

Télécharger

Et inc/inc-logo-trad.html contient :

  1. <BOUCLE_pas_logo(ARTICLES){id_article}>
  2. #SET{lien,#URL_ARTICLE&amp;c=menu}
  3. <BOUCLE_logo_trad(ARTICLES){traduction}{logo}{0,1}>
  4. [<span style="float:left"><a href="#GET{lien}">(#LOGO_ARTICLE||image_reduire{120})</a></span>]
  5. </BOUCLE_logo_trad>
  6. </BOUCLE_pas_logo>

Télécharger

Cela fait le boulot ;-) En attendant de recevoir des tuyaux pour le faire mieux, explications :

-  Cadre 1

  • ligne 1, test de la présence d’un logo : si oui, rien - si non inclure en passant l’id_article
  • ligne 2, affichage classique du logo qui existe, s’il existe.
  • la suite, c’est la dist (?)

-  Cadre 2

  • ligne 1 : créer le contexte avec l’id_article
  • ligne 2 : récupérer l’url de l’article sans logo pour pouvoir pointer dessus, ajout possible d’un paramètre (ici « c »)
  • ligne 3 : sélection de la première traduction article qui dispose d’un logo (j’avais oublié l’existence de {logo} comme critère, bien pratique ici)
  • ligne 4 : l’affichage du logo, ici affublé d’un lien vers l’article qui n’en a pas (utile pour le cas d’un appel depuis une page de rubriques par exemple)

Voilà, voilà. Les boucles, j’aime ça (et les inclure aussi) !

Mises à jour

-  Proposition 1 : sur IRC, on me souffle à l’oreillette que dans l’appel (cadre 1, ligne 1)

[23:46] <cy_altern> [(#LOGO_ARTICLE|fichier|?{'',' '})  <INCLURE{fond=inc/inc-logo-trad}{id_article}> ] fonctionne mais pourquoi pas:
 [(#LOGO_ARTICLE|fichier|sinon)  <INCLURE{fond=inc/inc-logo-trad}{id_article}> ]

En effet... (voir http://www.spip.net/fr_article4313....)

-  Proposition 2 : mon autre oreillette me dit
[23:54] <Real3T> |oui et |non, c'est plus facile à lire Suske  et c'est identique à {' ',”} et {”,' '}

En effet !

Mise à jour après lecture de la doc sur |sinon : Remplacer ligne 1 du cadre 1 par :

  1.  [(#LOGO_ARTICLE|fichier|sinon{#INCLURE{fond=inc/inc-logo-trad}{id_article}})]

D’où : Intégration de la proposition 1 et utilisation de la balise #INCLURE, qui permet la mise en cache dans le squelette appelant. Je n’ai pas besoin que l’inclusion soit recalculée à chaque appel de la page.

Dernière modification de cette page le 9 avril 2011

Retour en haut de la page

Vos commentaires

  • Le 17 août 2012 à 13:10, par Emilio En réponse à : Mettons un logo à l’article traduit

    Funciona perfetamente con la modificación indicada. Es preciso mantener la línea [(#LOGO_ARTICLE)] para que el artículo original muestre también logo. Gracias por la aportación

    Répondre à ce message

  • Le 16 avril 2011 à 18:03, par Ben En réponse à : Mettons un logo à l’article traduit

    Bonjour et merci pour cette contrib qui répond tout à fait à ce que je cherchais !

    Je me dis que dans le même esprit, ça doit être adaptable pour les mots clés. Mais là, je me casse les dents en ce beau samedi ensoleillé...

    Quelqu’un-e aurait une piste ?

    Ben

    Répondre à ce message

  • Le 8 avril 2011 à 16:58, par 1138 En réponse à : Mettons un logo à l’article traduit

    Ma petite solution à moi, en mélangeant cette contribution et ses commentaires.

    Un fichier inc-logo_trad :

    1. <BOUCLE_contexte_article(ARTICLES) {id_article}>
    2.          [(#LOGO_ARTICLE|sinon{#INCLURE{fond=inc-logo_origin}{id_article}})]
    3. </BOUCLE_contexte_article>

    Télécharger

    Un fichier inc-logo_origin :

    1. <BOUCLE_pas_logo(ARTICLES){id_article}>
    2.         #SET{lien,#URL_ARTICLE&amp;c=menu}
    3.         <BOUCLE_logo_trad(ARTICLES){traduction}{logo}{0,1}>
    4.                 [(#LOGO_ARTICLE)]
    5.         </BOUCLE_logo_trad>
    6.                 [(#LOGO_ARTICLE_RUBRIQUE)]
    7.         <//BOUCLE_logo_trad>
    8. </BOUCLE_pas_logo>

    Télécharger

    Le principe : si un article n’a pas de logo, il prend celui d’une traduction (à commencer par l’origine de traduction). Si aucun n’en a, il prend le logo de la rubrique.

    Une fois les deux fichiers inc créés, il suffit de définir l’image avec la ligne

    #SET{monimage,#INCLURE{fond=inc-logo_trad}{id_article}}

    et de remplacer le ou les #LOGO_ARTICLE_RUBRIQUE par #GET{monimage}

    Exemple :

    1. <BOUCLE_articles(ARTICLES)>
    2.         <li class="hentry">
    3.                 #SET{monimage,#INCLURE{fond=inc-logo_trad}{id_article}}
    4.                 [(#GET{monimage}|image_reduire{150,130})]
    5.                 <h3 class="entry-title"><a href="#URL_ARTICLE" rel="bookmark">#TITRE</a></h3>
    6.                 [<div class="#EDIT{intro} introduction entry-content">(#INTRODUCTION)</div>]
    7.         </li>
    8. </BOUCLE_articles>

    Télécharger

    Attention : contrairement à ce que dit poupougnac,#GET{monimage} ne fonctionne pas exactement comme #LOGO_ARTICLE. Certes, le filtre image_reduire fonctionne (cool !) mais pas un filtre comme right ou #URL_ARTICLE. il faut donc encadrer de balises html adéquates (du genre <div style="float:right;">…</div> ou <a href="#URL_ARTICLE">…</a>

    Je ne sais pas quels filtres fonctionnent ou non (ni pourquoi), à chacun de tester.

    Good luck !

    • Le 8 avril 2011 à 17:06, par 1138 En réponse à : Mettons un logo à l’article traduit

      Tiens, quelles sont les balises de SPIP-Contrib pour avoir le code avec coloration syntaxique ? Apparemment, ce n’est pas

    • Le 9 avril 2011 à 18:07, par Suske En réponse à : Mettons un logo à l’article traduit

      c’est

      < cadre class=’spip’>le code< /cadre>

      Enlever les espaces dans les balises cadre et /cadre :-) Elles sont interprétées sinon.

    Répondre à ce message

  • Le 14 mars 2011 à 14:53, par nicodiaz En réponse à : Mettons un logo à l’article traduit

    la boucle/parade trouvée pour afficher le logo de l’article de référence dans un carrousel animé est la suivante :

    1. <B_a_la_une>
    2.                 <div id="myImageFlow">
    3.                         <a href="#" class="gogauche"><span>previous</span></a>
    4. <div id="grostitre"> </div>
    5.                         <ul>
    6.                         <BOUCLE_a_la_une(ARTICLES){id_mot=121}{lang}{par date}{inverse}{0,4}>
    7.                         <li id="img#COMPTEUR_BOUCLE">
    8. [(#LOGO_ARTICLE|fichier|crop{280,210}|extraire_attribut{src}|sinon{#INCLURE{fond=inclus/inc-logo-trad-sommaire}{id_article}})]
    9.                                 <img src="[(#LOGO_ARTICLE||crop{280,210}|extraire_attribut{src})]"/>
    10.                                 <h3><:alaune:> ::: <a href="#URL_ARTICLE">#TITRE</a></h3>
    11.                                 <p><a href="#URL_ARTICLE">[(#INTRODUCTION|couper{180})]</a></p>
    12.                         </li>
    13.                         </BOUCLE_a_la_une>
    14.                         </ul>
    15.                         <div id="infos">
    16.                                 <span id="current_title"> </span><span id="current_desc"> </span>
    17.                         </div><a href="#" class="godroite"><span>next</span></a>
    18.                 </div>
    19.                 </B_a_la_une>
    20.                 <//B_a_la_une>

    Télécharger

    Répondre à ce message

  • Le 1er juillet 2010 à 08:35, par poupougnac En réponse à : Mettons un logo à l’article traduit

    Bonjour, ton article est pertinent. La solution de la balise #LOGO_ORIGINE_TRADUCTION ne marche plus avec la 2.10 puisque la fonction affiche_logos() a ete supprime.
    Donc les gens qui comme moi sont bloques car voulant etre a jour chercheront ici ta nouvelle solution.

    Concernant ta methode, j’ai peut-etre plus simple

    Le fichier a inclure logo_trad :

    1. <BOUCLE_contexte_article(ARTICLES) {id_article}>
    2. <BOUCLE_logo_origine(ARTICLES){traduction}{logo}{0,1}>
    3. #LOGO_ARTICLE
    4. </BOUCLE_logo_origine>
    5. </BOUCLE_contexte_article>

    Télécharger

    Et tu n’as plus qu’à directement traiter l’inclure comme une balise logo, ex :

    1. [(#INCLURE{fond=logo_trad}{id_article}||image_reduire{275,300})]

    Et si tu souhaites utiliser plusieurs fois ce code dans une page ou seulement simplifier l’utilisation, il est possible de faire :

    1. #SET{monimage,#INCLURE{fond=logo_trad}{id_article}}

    Et d’utiliser #GETmonimage qui fonctionnera rigoureusement comme la fameuse balise #LOGO_ARTICLE

    Je pense que cette maniere de faire est plus souple car elle permet de considerer qu’a partir du moment ou un article a un logo, toutes les traductions pourront l’afficher.

    • Le 1er juillet 2010 à 08:47, par poupougnac En réponse à : Mettons un logo à l’article traduit

      Pour ton cas particulier tu auras :

      1. [(#LOGO_ARTICLE|sinon{#GET{monimage}})]

      Si ton article n’a pas d’image il prendra celle d’une de ses traductions.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • ScolaSPIP 4

    19 janvier 2016 – 325 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • LIM : alléger l’espace privé

    20 avril 2015 – 42 commentaires

    Ce plugin permet de désactiver l’affichage de blocs ou de boutons, présents par défaut dans SPIP mais qui peuvent devenir inutiles dans le cadre de votre projet. Il allège du coup l’interface d’édition et supprime d’éventuels risques de confusion dans (...)

  • StatsJS : compter les visites avec un mouchard javascript

    23 mars 2011 – commentaires

    Ce plugin sert à compter les visites à partir d’un mouchard javascript, au lieu du mouchard PHP classique. Quel intérêt ? homogénéité : en utilisant un mouchard javascript au lieu de regarder les hits sur les pages HTML, StatsJS permet de compter les (...)

  • Albums 3

    8 août 2014 – 276 commentaires

    Le plugin « Albums » évolue dans une version 3 pour SPIP 3. Avant d’effectuer une mise à jour depuis la version 1 ou 2, consultez les notes sur la rétro-compatibilité. Les modèles, notamment, on reçut quelques changements pour la bonne cause. En (...)

  • spiPDF : générer des contenus sur mesure en PDF

    16 février 2011 – 235 commentaires

    Le plugin spiPDF génère des fichiers au format PDF d’article ou de tout autre élément SPIP, simplement à partir d’un squelette construit au format HTML 4 et facile à modifier. Avertissement de sécurité Ce plugin a fait l’objet d’une faille de sécurité (...)