====== 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.