From PmWiki

PmWikiFr: Barre d'édition

Question

Comment puis-je ajouter une barre de boutons dans la fenêtre d'édition comme sur le site pmwiki.org ?

Réponse

Dans le fichier local/config.php ajouter :

  $EnableGUIButtons = 1;

C'est tout !

Si vous avez concocté vous-même votre thème PmWiki, assurez-vous d'y avoir la balise <!--HTMLHeader--> à l'intérieur de la section <head>, sinon vous ne verrez jamais la barre de boutons (en plus de vous retrouver avec une erreur Javascript...) Benoît Pruneau? 10 juin 2009 à 23h17

Options

Boutons plus grands

Vous trouvez peut-être les boutons originaux un peu petits (22x22), utilisez alors un nouveau jeu de boutons plus grands (34x32) :

GUIButtons32.zip

Ces boutons seront installés dans un nouveau sous-répertoire de /pub, par exemple pub/guiedit32.
Ajoutez la ligne suivante au fichier local/config.php :

 $GUIButtonDirUrlFmt = "$FarmPubDirUrl/guiedit32"; 

Nouveaux boutons

Vous pouvez ajouter de nouveaux boutons en mettant leur description dans le fichier local/config.php.

Ce script ajoute une barre de boutons au formulaire d'édition.

Les boutons sont placés dans le tableau $GUIButtons, chaque bouton est décrit par un tableau de cinq valeurs :

La position est juste un numéro d'ordre, vous pouvez avoir des écarts supérieurs à 1 entre les nombres, ce qui permet de réserver de la place pour insérer des boutons plus tard.

Les positions actuelles sont :

Autres boutons du fichier sample-config

  $GUIButtons['h2'] = array(400, '\\n!! ', '\\n', '$[Heading]',
                     '$GUIButtonDirUrlFmt/h2.gif"$[Heading]"');

  $GUIButtons['h3'] = array(402, '\\n!!! ', '\\n', '$[Subheading]',
                     '$GUIButtonDirUrlFmt/h3.gif"$[Subheading]"');

  $GUIButtons['indent'] = array(500, '\\n->', '\\n', '$[Indented text]',
                     '$GUIButtonDirUrlFmt/indent.gif"$[Indented text]"');

  $GUIButtons['outdent'] = array(510, '\\n-<', '\\n', '$[Hanging indent]',
               '$GUIButtonDirUrlFmt/outdent.gif"$[Hanging indent]"');

  $GUIButtons['ol'] = array(520, '\\n# ', '\\n', '$[Ordered list]',
               '$GUIButtonDirUrlFmt/ol.gif"$[Ordered (numbered) list]"');

  $GUIButtons['ul'] = array(530, '\\n* ', '\\n', '$[Unordered list]',
               '$GUIButtonDirUrlFmt/ul.gif"$[Unordered (bullet) list]"');

  $GUIButtons['hr'] = array(540, '\\n----\\n', '', '',
               '$GUIButtonDirUrlFmt/hr.gif"$[Horizontal rule]"');

  $GUIButtons['table'] = array(600,
           '||border=1 width=80%\\n||$[!Hdr] ||$[!Hdr] ||$[!Hdr] ||\\n'.
           '||     ||     ||     ||\\n||     ||     ||     ||\\n',
           '', '', 
           '$GUIButtonDirUrlFmt/table.gif"$[Table]"');

Boutons divers

  $GUIButtons ['advtable'] = array(610, 
    '(:table border=1 width=80%:)\\n(:cellnr:)\'\'\'$[Header]\'\'\'\\n'.
    '(:cell:)\'\'\'$[Header]\'\'\'\\n(:cell:)\'\'\'$[Header]\'\'\'\\n'.
    '(:cellnr:)\\n(:cell:)\\n(:cell:)\\n(:tableend:)\\n',
    '', '', '$GUIButtonDirUrlFmt/table2.gif"$[Advanced table]"'); 

Boutons pour les addons du Cookbook :

   $GUIButtons ['pagetoc'] = array(90, '\\n(:toc:)\\n', '', '',
     '$GUIButtonDirUrlFmt/toc.gif"$[Table of content]"');				

   $GUIButtons ['image'] = array(620, 'Img:', '', '$[MyImage.jpg]',
     '$GUIButtonDirUrlFmt/image.gif"$[Insert image]"');

Discussion

Une amélioration au script peut être d'autoriser l'annulation. Sur certains navigateurs/systèmes 'Ctrl-Z' fonctionne, mais pas sur tous.

Changer l'image des boutons par défaut?

Comment changer l'image par défaut? J'ai modifié $GUIButtonDirUrlFmt pour pointer vers mon skin perso, avec un répertoire de boutons. Le problème est que j'ai des boutons .png et non pas .gif donc il me faudrait changer l'image qui s'affiche par défaut. Comment faire sans modifier le core? Caroline Guénette?

Vous pouvez définir la variable $GUIButtons dans config.php. --Petko? 14 novembre 2011 à 09h46

$GUIButtons = array(
  'em'       => array(100, "''", "''", '$[Emphasized]',
                  '$GUIButtonDirUrlFmt/em.png"$[Emphasized (italic)]"', 
                  '$[ak_em]'),
  'strong'   => array(110, "'''", "'''", '$[Strong]',
                  '$GUIButtonDirUrlFmt/strong.png"$[Strong (bold)]"',
                  '$[ak_strong]'),
  'pagelink' => array(200, '[[', ']]', '$[Page link]', 
                  '$GUIButtonDirUrlFmt/pagelink.png"$[Link to internal page]"'),
  'extlink'  => array(210, '[[', ']]', 'http:// | $[link text]',
                  '$GUIButtonDirUrlFmt/extlink.png"$[Link to external page]"'),
  'big'      => array(300, "'+", "+'", '$[Big text]',
                  '$GUIButtonDirUrlFmt/big.png"$[Big text]"'),
  'small'    => array(310, "'-", "-'", '$[Small text]',
                  '$GUIButtonDirUrlFmt/small.png"$[Small text]"'),
  'sup'      => array(320, "'^", "^'", '$[Superscript]',
                  '$GUIButtonDirUrlFmt/sup.png"$[Superscript]"'),
  'sub'      => array(330, "'_", "_'", '$[Subscript]',
                  '$GUIButtonDirUrlFmt/sub.png"$[Subscript]"'),
  'h2'       => array(400, '\\n!! ', '\\n', '$[Heading]',
                  '$GUIButtonDirUrlFmt/h.png"$[Heading]"'),
  'center'   => array(410, '%center%', '', '',
                  '$GUIButtonDirUrlFmt/center.png"$[Center]"'));

Problèmes

Je ne le savais pas. Je choisis de ne pas afficher la barre de boutons en mettant ce qui suit à la fin de insButton()

 var clientPC = navigator.userAgent.toLowerCase(); 
 var BrowserIsSafari = ((clientPC.indexOf('applewebkit')!=-1)
                 && (clientPC.indexOf('spoofer')==-1));
 var BrowserIsOpera = clientPC.indexOf('opera')!=-1;
 if (BrowserIsSafari || BrowserIsOpera) return;

Schlaefer?

Voir aussi

Un exemple de barre de gros boutons avec les boutons décrits ci-dessus :

http://cncloisirs.com/Fonctionnement.BacASable?action=edit

Note : vous pouvez aussi trouver sur cette fenêtre d'édition, la suppression du menu, de l'en-tête et du pied de page décrits ici : layout edit modified?

Traduction

Le texte associé aux boutons peut être traduit dans un langage donné dans les XLPage(s). Voir le paragraphe approprié dans Localization.XLPageTemplate.

Contributeurs


<< Editer par double click | Index compléments | Formatage des tableaux simples >>


Traduction de Cookbook.GuiEdit - Page originale sur PmWiki:PmWikiFr.BarreDédition

Récupéré sur https://mathilde.lapsus.org/index.php?n=PmWikiFr.BarreDEdition
Page mise à jour le 14 November 2011 à 15h46