SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

27 visiteurs en ce moment

fontsizeup fontsizedown
[3 commentaires]

Plugin : Suppmulti

Plugin pour supprimer automatiquement les balises <multi>

samedi 3 janvier 2009, par gotfers

1 vote

Le plugin Suppmulti permet de supprimer les balises <multi> créées par la barre multilingue et qui alourdissent parfois considérablement l’affichage d’un site. Il transforme alors chaque langue supplémentaire en un nouvel article et lie automatiquement les traductions et les mots clés.

L’idée de ce plugin est né lorsque j’ai voulu modifier la gestion multilingue du site dont je m’occupe. Au départ entièrement basée sur le plugin Barre typo multilingue, j’ai souhaité la faire évoluer en raison de la lourdeur de cette gestion (notamment pour les longs articles). Toutefois, aucune solution automatique n’était présente pour revenir en arrière (et donc supprimer les balises <multi>) et créer des articles autonomes pour chaque traduction.

Attention, ce plugin ne fonctionne pour l’instant que pour les articles.

Installation

- Télécharger le plugin
- Le dézipper dans le répertoire plugin du site
- Activer le plugin

Utilisation

Le plugin ajoute un bouton dans l’onglet configuration comme indiqué ci-dessous (seulement pour les administrateurs) : Panneau d'administration

La page du plugin se présente comme ci-dessous : Impression d'écran

Il suffit ainsi de cocher la case des articles que l’on souhaite modifier et de cliquer sur le bouton "Supprimer les balises <multi>".

Fonctionnement

Ce plugin fonctionne de la manière suivante :
- Il analyse chaque article pour voir s’il contient une balise <multi> ;
- Si oui, il l’affiche sur la page du plugin ;
- Si le spipeur souhaite modifier l’article, il coche la case et clique sur le bouton ;
- Ensuite :

  • Si l’article ne contient qu’une balise de la forme "<multi>[fr] Texte en français </multi>", il le met à jour en supprimant ces balises ;
  • Si l’article contient plusieurs balises mais que les autres langues ne sont pas réellement activées ou sont la reproduction exacte de la première (ex : <multi>[fr] Titre de l'article [en] Nouvel article </multi> ou <multi>[fr] Titre de l'article [en] Titre de l'article</multi>). Dans ce cas, le plugin met à jour l’article en supprimant les balises multi et la ou les versions inutiles.
  • Si l’article contient réellement plusieurs traductions (ex : <multi>[fr] Titre de l'article [en] Article Title</multi>), alors le plugin met à jour l’article original en supprimant les balises et crée un article distinct pour chaque traduction. Il lie les traductions à l’article original et reporte les mots-clés et auteurs. Les nouveaux articles traduits sont créés dans la même rubrique et avec le même statut que l’article original.

Améliorations possibles

- Créer une partie pour les rubriques ;
- ...

Version

Attention, ce plugin n’a été testé que sous SPIP 2.x

Téléchargement

Zip - 11.2 ko

Voir en ligne : Téléchargement

Retour en haut de la page

3 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    18 janvier 19:06 , par gotfers

    Merci pour cette correction. Je n’avais pas encore eu le temps de le tester avec 3 langues. Je viens de mettre à jour le zip.

  • Répondre à ce message

    15 janvier 02:08 , par jmn67

    Ca marche correctement quand il y a 2 langues, mais s’il y en a 3, il ne crée que l’article pour la dernière langue.

    exemple avec français, ça donne :

    * article 1 : français[en]english

    * article 2 : deutch

    Pour corriger cela, il faut changer la ligne 66 du fichier suppmulti.php

    $pattern = ’#\[([a-z]2)\](.*)\ [1]|[^\[])*)\[[a-z]2\]#s’ ;

  • Répondre à ce message

    3 janvier 18:25 , par Matthieu Marcillaud

    Très intéressant cette démarche. Merci donc pour ceux que ça intéressera, je suis certain qu’ils seront nombreux !

Répondre à cet article

Retour en haut de la page

Ça discute par ici