Nous utilisons les cookies afin de fournir les services et fonctionnalités proposés sur notre site et afin d’améliorer l’expérience de nos utilisateurs. Pour plus d'informations nous vous invitons à consulter notre Politiques sur les cookies ainsi que notre Politique de confidentialité.

Pourquoi j'ai décidé de recréer le plugin Snippets pour l'écosystème TinyMCE

Lors de la migration de mes projets vers les dernières versions de TinyMCE (V6 et V7+), j'ai été confronté à un changement de stratégie de l'éditeur : le retrait du célèbre plugin template de l'offre Open Source. Pour beaucoup de mes développements, et notamment pour Magix CMS, cette fonctionnalité est essentielle pour permettre aux utilisateurs d'insérer des structures HTML complexes sans toucher à une ligne de code.

Plutôt que de me résigner ou d'opter pour une solution lourde, j'ai pris l'initiative de développer Snippets.

Mon objectif était double :

  • Maintenir une continuité de service pour mes utilisateurs habitués aux modèles de mise en page.

  • Partager avec la communauté une alternative légère, moderne et conforme aux nouvelles APIs de dialogue de l'éditeur.

Développer ce plugin a été l'occasion de plonger dans les subtilités de l'API de TinyMCE 7. J'ai choisi de rendre ce code générique et de le publier sur GitHub. C’est ma manière de contribuer à un web ouvert où la facilité de création de contenu ne devrait pas être limitée par des changements de licence.

Je vous invite à découvrir le projet sur mon GitHub. Que vous soyez en pleine migration ou que vous cherchiez simplement à enrichir votre éditeur, ce plugin est fait pour vous.

tinymce.init({
    selector: '.mceEditor',
    plugins: 'snippets ...',
    toolbar: 'snippets | ...',
    // Obligatoire : URL retournant la liste des modèles au format JSON
    snippets_url: '/votre-api/get-snippets.php',
    // Requis pour l'aperçu fidèle
    content_css: '/css/votre-style.css',
    license_key: 'gpl'
});

Un exemple d'utilisation de snippets tinyMCE

snippets_list: [
    { text: 'Témoignage Client', value: '<blockquote class="magix-quote"><p>"Votre texte ici"</p><cite>Nom du client</cite></blockquote>' },
    { text: 'Grille 3 colonnes', value: '<div class="row"><div class="col">1</div><div class="col">2</div><div class="col">3</div></div>' },
    { text: 'Bouton Action', value: '<a href="#" class="magix-btn">Cliquez ici</a>' }
]

Plugin Snippets tinyMCE sur Github

Thèmes :tinymce, plugin, snippets, template

Haut de la page