CKEditor et les modèles SPIP

Le plugin CKEditor pour SPIP permet d’utiliser les modèles SPIP sans que le rédacteur ait à en connaître la syntaxe précise.

Ceci nécessite toute fois une configuration importante de la part de l’administrateur qui, lui, doit connaître la syntaxe et l’utilisation précise de ces modèles.

Les modèles SPIP sont très différents les uns des autres. On a, par exemple :

  • des modèles qui n’ont pas de balise fermante (comme par exemple la balise : <img>)
  • des modèles qui ont une balise fermantes (comme par exemple la balise : <cadre>...</cadre>)
  • des modèles dont les paramètres utilisent une syntaxe avec le pipe (comme par exemple la balise : <imgXX|left>)
  • des modèles dont les paramètre utilisent une syntaxe html (comme par exemple la balise : <cadre class="javascript">...</cadre>)

Configuration

CKEditor étant un éditeur WYSIWYG, le plugin CKEditor pour SPIP se devait de permettre d’utiliser ces balises sans en connaître les particularités.

Pour cela, l’administrateur doit utiliser l’onglet « Configuration des modèles SPIP »

Tout commence par la création d’un « Nouveau modèle », SPIP demande alors le nom du modèle, il faut que ce soit le nom de la balise que l’administrateur compte permettre à ses rédacteurs d’utiliser dans CKEditor, par exemple : cadre pour utiliser le modèle SPIP <cadre>.

Ce modèle sera disponible dans CKEditor via une liste déroulante, l’administrateur doit préciser comment apparaîtra ce modèle dans la liste. C’est l’objet des deux champs :

  • « Intitulé dans la liste déroulante »,
  • « Description du modèle » (c’est à dire, le contenu de la bulle d’aide).

Ensuite, il doit indiquer si le modèle est numérique. Par exemple, pour une image, on précisera : modèle « numérique », puis que cette valeur représente « un document ». De cette façon le plugin, proposera une liste des identifiants des documents SPIP (avec leur nom).

Enfin, on précise si le modèle est un modèle à balise fermantes. Comme les modèles à balises fermantes ont un contenu, et que ce contenu sera interprété par SPIP lors de la réédition du texte [1], il faut préciser au plugin si on doit protéger le contenu de cette interprétation en protégeant certains caractères (le plus simple est de protéger : {}[].

Reste à configurer la façon dont devront être gérés les paramètres des modèles.

Paramètres des modèles

La première chose à configurer, c’est la syntaxe avec laquelle ces paramètres devront être insérés par le plugin :

  • soit la syntaxe spip, exemple : <sjcycle16|center|docs=101,102,103,104|id_diapo=1>,
  • soit la syntaxe html, exemple : <cadre class="spip">...</cadre>

Le plugin permet ensuite de configurer des listes de paramètres sélectionnables que le rédacteur pourra utiliser au lieu de connaître tous les paramètres de la balise.

Il suffit d’ajouter à la liste tous les paramètres que l’administrateur souhaite proposer à ses rédacteurs. Puis pour chaque paramètre, il faut indiquer la listes des valeurs qui peuvent être documentées pour les rédacteurs. Il suffit donc d’ajouter chaque valeur, puis l’intitulé sous lequel cette valeur apparaîtra dans la liste déroulante proposant les valeurs.

Exemples :

Un bon (espérons-le) dessin valant mieux qu’un long discours ...
Le modèle <cadre>
Dans la configuration vous entrez :

Ce qui permet d’obtenir dans la barre d’outils de CKeditor :

Puis, la boite de dialogue suivante :

PS : les dernières versions ont une interface de configuration légèrement différente.

Notes

[1le contenu de la zone d’édition passe par le filtre propre avant d’être passé à CKEditor

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom