Table des matières

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 '<script type="text/javascript" src="index.php?pf=monSuperPlugin/post.js"></script>';
}

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.