====== Ajouter un élément aux barres d'outils des billets ====== ===== Introduction ===== Il existe trois format de saisie par défaut dans Dotclear et donc trois barre d'outils d’édition. Mais des plugins peuvent y ajouter leurs propres syntaxes et auront donc leurs propres barre d'outils. Vous pouvez ajouter à l'une ou l'autre de ces barres d'outils des boutons et des combo-box qui agiront sur le contenu du billets, ou sur ses contenus annexes. ===== Structure minimale ===== ==== _admin.php ==== Un behavior doit être déclaré dans le fichier ''_admin.php'' du plugin, pour charger votre script js dans la page post.php : $core->addBehavior('adminPostHeaders','postHeaders'); function postHeaders() { return ''; } ==== js/post.js ==== jsToolBar.prototype.elements.monSuperPluginSpace = { type: 'space', context = 'post', format:{ wiki:true } }; jsToolBar.prototype.elements.truc = { type: 'button', context: 'post', title: 'Truc', icon: 'index.php?pf=monSuperPlugin/img/truc.png', fn: { wiki: function() { this.encloseSelection('','',function(str) { if (str == '') { window.alert(dotclear.msg.no_selection); return ''; } if (str.indexOf(',') != -1) { return str; } else { window.dc_tag_editor.addMeta(str); return '['+str+'|monSuperPlugin:'+str+']'; } }); } } }; ===== Explication ===== ==== Espaceur ==== La plupart du temps vous ajouterez votre bouton à la suite d'autre, on commence donc par mettre un espaceur. jsToolBar.prototype.elements.monSuperPluginSpace Le **type** //space// pour créer un espace.\\ On choisit le **context** //post// pour afficher notre espace uniquement dans les billets.\\ Le **format** //wiki// pour que l'espace s'affiche sur la barre d'outil en syntaxe wiki uniquement.\\ ==== Button ==== Ensuite on peux ajouter notre bouton appeler "truc". jsToolBar.prototype.elements.truc On choisit le **context** //post// pour afficher notre bouton uniquement dans les billets.\\ Le **type** //bouton//.\\ Le **title** qui s'affichera au survole. Un **icon** indispensable pour un bouton. Et fn est la fonction qui s’exécutera quand on cliquera sur le bouton. Tout cela sera détaillé pas plus tard que maintenant ===== Button ===== Pour déclaré un bouton il faut le faire de cette manière. jsToolBar.prototype.elements.truc = {}; On déclare ensuite les différents attributs : type = button title : apparait au survole. icon: Indispensable pour illustré le bouton. L'url doit être de cette forme : index.php?pf=dossier_du_plugin/icon.png context : Permet de choisir le type d'entrée ou apparaitra le bouton, post ou page. disabled : false ou true pour désactivé le bouton dans certaine condition. fn : /// ==== type ==== Trois **type** sont disponible : * button - Permet de créer un bouton. * combo - Permet de créer une combo-box. * space - Permet de créer un espace.