Comment puis-je ajouter une barre de boutons dans la fenêtre d'édition comme sur le site pmwiki.org ?
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
Vous trouvez peut-être les boutons originaux un peu petits (22x22), utilisez alors un nouveau jeu de boutons plus grands (34x32) :
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";
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]"');
$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]"');
$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]"');
Une amélioration au script peut être d'autoriser l'annulation. Sur certains navigateurs/systèmes 'Ctrl-Z' fonctionne, mais pas sur tous.
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]"'));
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;
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?
Le texte associé aux boutons peut être traduit dans un langage donné dans les XLPage(s). Voir le paragraphe approprié dans Localization.XLPageTemplate.
<< Editer par double click | Index compléments | Formatage des tableaux simples >>
Traduction de Cookbook.GuiEdit - Page originale sur PmWiki:PmWikiFr.BarreDédition
Page originale sur PmWikiFr.BarreDEdition - Backlinks
Dernières modifications:
PmWikiFr.BarreDEdition: November 14, 2011, at 03:46 PM