This should provide a starting-point for a Zwiki page-type specific help sidebar. Save it as portlet_wikihelp
in your custom folder, then add it to the root Plone slots properties.:
<div metal:define-macro="portlet" tal:condition="python:here.meta_type=='ZWiki Page'" class="portlet" id="portlet-wikihelp"> <span tal:define="global string modules/string" /> <div tal:condition="python:string.count(str(here.page_type), 'msgstx')"> <h5 i18n:translate="box_rest">STX QuickRef</h5> <div class="portletBody"> <B>Phrase Modifiers:</B><BR> *emphasis* ⇒ <em>emphasis</em><BR> **strong** ⇒ <strong>strong</strong><BR> 'typewriter' ⇒ <code>typewriter</code><BR> _underline_ ⇒ <u>underline</u><BR> <B>Headings:</B><BR> Use indentation.<BR> Indent paragraph first-lines deeper than their heading.<BR> <B>Lists:</B><BR> * bulleted list item<BR> 1 numbered list item<BR> Def'n Term -- definition text.<BR> <B>Blocks:</B><BR> Lead paragraph::<BR> verbatim text block.<BR> <B>Links:</B><BR> "link title":http://webaddress<BR> "name":mailto:email@address.com<BR> "image desc":img:filepath<BR> footnote reference [1]<BR> .. [1] the footnote.<BR> <B>Tables:</B><BR> <tt>|---------------|</tt><BR> <tt>| Head1 | Head2 |</tt><BR> <tt>|===============|</tt><BR> <tt>| Cell1 | Cell2 |</tt><BR> <tt>|---------------|</tt><BR> </div> </div> <div tal:condition="python:string.count(str(here.page_type), 'msgrst')"> <h5 i18n:translate="box_rest">ReST QuickRef</h5> <div class="portletBody"> <B>Phrase Modifiers:</B><BR> *emphasis* ⇒ <em>emphasis</em><BR> **strong** ⇒ <strong>strong</strong><BR> ``typewriter`` ⇒ <code>typewriter</code><BR> \ ⇒ escapes the next char<BR> <B>Headings:</B><BR> Use underlining, typically in #=-~"' order.<BR> Do not indent paragraphs.<BR> <B>Lists:</B><BR> * bulleted list item<BR> - bulleted list item<BR> + bulleted list item<BR> 1. numbered list item<BR> A. lettered list item (also lowercase)<BR> I. roman-numbered list item (also lowercase)<BR> Definition Term definition text<BR> <B>Blocks:</B><BR> Lead paragraph::<BR> verbatim text block<BR> ---- ⇒ horizontal rule<BR> <B>Links:</B><BR> link to target_<BR> .. _target:<BR> footnote reference [#]_<BR> .. [#] the footnote.<BR> <B>Substitutions:</B><BR> the substitution |ref|<BR> .. |ref| directive::data<BR> <B>Tables:</B><BR> <tt>----- -----</tt><BR> <tt>Head1 Head2</tt><BR> <tt>===== =====</tt><BR> <tt>Cell1 Cell2</tt><BR> <tt>----- -----</tt><BR> <BR> <tt>+-------+-------+</tt><BR> <tt>| Head1 | Head2 |</tt><BR> <tt>+=======+=======+</tt><BR> <tt>| Cell1 | Cell2 |</tt><BR> <tt>+-------+-------+</tt><BR> </div> </div> <div tal:condition="python:string.count(str(here.page_type), 'dtmlhtml')"> <h5 i18n:translate="box_rest">HTML QuickRef</h5> <div class="portletBody"> <I>Note: closing tags are not shown!</I> <B>Phrase Modifiers:</B><BR> <b>emphasis ⇒ <em>emphasis</em><BR> <i>strong ⇒ <strong>strong</strong><BR> <code>typewriter ⇒ <code>typewriter</code><BR> <u>underline ⇒ <u>underline</u><BR> <B>Headings:</B><BR> <h1> through <h6><BR> <B>Lists:</B><BR> <ul> bulleted list block<BR> <ol> numbered list block<BR> <li> list item<BR> <B>Links:</B><BR> <A HREF="url"><BR> <IMG="url"><BR> <B>Tables:</B><BR> <table>⇒ table block<BR> <tr>⇒ table row<BR> <td>⇒ table cell<BR> </div> </div> <div tal:condition="python:string.count(str(here.page_type), 'DISABLED SECTION plaintext')"> <h5 i18n:translate="box_rest">Plaintext QuickRef</h5> <div class="portletBody"> if this were active, the text would go here. </div> </div> </div>
Same in french - traduction française par Atreal : sauvegarder le bloc ci-dessous dans une page template du dossier Custom. Nommer la page template portlet_wikihelp
et ajouter une référence au portlet dans les attributs slots
du dossier racine de Plone:
<div metal:define-macro="portlet" tal:condition="python:here.meta_type=='ZWiki Page'" class="portlet" id="portlet-wikihelp"> <span tal:define="global string modules/string" /> <div tal:condition="python:string.count(str(here.page_type), 'msgstx')"> <h5 i18n:translate="box_rest">Référence STX</h5> <div class="portletBody"> <B>Attributs de style:</B><BR> *italique* ⇒ <em>italique</em><BR> **gras** ⇒ <strong>gras</strong><BR> 'texte brut' ⇒ <code>texte brut</code><BR> _souligné_ ⇒ <u>souligné</u><BR> <B>Entêtes:</B><BR> Utiliser l'indentation.<BR> Indenter la première ligne des paragraphes plus loin que leur entête.<BR> <B>Listes:</B><BR> * listes à puces<BR> 1 listes numérotés<BR> Terme è définir -- texte de définition.<BR> <B>Blocs:</B><BR> Entête de paragraphe::<BR> block de texte sans mise en forme.<BR> <B>Liens:</B><BR> "nom du lien":http://adresseweb<BR> "nom du contact":mailto:email@addresse.com<BR> "description d'image":img:chemindelimage<BR> référence en pieds de page [1]<BR> .. [1] la référence.<BR> <B>Tables:</B><BR> <tt>|---------------------|</tt><BR> <tt>| Entête1 | Entête2 |</tt><BR> <tt>|=====================|</tt><BR> <tt>| Cellule1 | Cellule2 |</tt><BR> <tt>|---------------------|</tt><BR> </div> </div> <div tal:condition="python:string.count(str(here.page_type), 'msgrst')"> <h5 i18n:translate="box_rest">Référence ReST</h5> <div class="portletBody"> <B>Attributs de style:</B><BR> *italique* ⇒ <em>italique</em><BR> **gras** ⇒ <strong>gras</strong><BR> ``texte brut`` ⇒ <code>texte brut</code><BR> \ ⇒ neutralise le caractère suivant<BR> <B>Entêtes:</B><BR> Utiliser les caractères suivants pour souligner le titre ; leur ordre d'utilisation détermine leur niveau h1 à h6 : #=-~"'<BR> Ne pas indenter les paragraphes.<BR> <B>Listes:</B><BR> * liste à puces<BR> - liste à puces<BR> + liste à puces<BR> 1. liste numérotée<BR> A. liste numérotée à lettres(idem minuscules)<BR> I. liste en chiffres romains (idem minuscules)<BR> Terme à définir texte de définition<BR> <B>Blocs:</B><BR> Entête de paragraphe::<BR> bloc de texte non formaté<BR> ---- ⇒ barre horizontale<BR> <B>Liens:</B><BR> lien vers une cible_<BR> .. _cible:<BR> référence en pieds de page [#]_<BR> .. [#] la référence en pieds de page.<BR> <B>Substitutions:</B><BR> la substitution |ref|<BR> .. |ref| directive::données<BR> <B>Tables:</B><BR> <tt>-------- --------</tt><BR> <tt>Entête1 Entête2 </tt><BR> <tt>======== ========</tt><BR> <tt>Cellule1 Cellule2</tt><BR> <tt>-------- --------</tt><BR> <BR> <tt>+----------+----------+</tt><BR> <tt>| Entête1 | Entête2 |</tt><BR> <tt>+==========+==========+</tt><BR> <tt>| Cellule1 | Cellule2 |</tt><BR> <tt>+----------+----------+</tt><BR> </div> </div> <div tal:condition="python:string.count(str(here.page_type), 'dtmlhtml')"> <h5 i18n:translate="box_rest">Référence HTML</h5> <div class="portletBody"> <I>Note: les tags de fermeture ne sont pas montrés !</I> <B>Phrase Modifiers:</B><BR> <b>italique ⇒ <em>italique</em><BR> <i>gras ⇒ <strong>gras</strong><BR> <code>texte non formaté ⇒ <code>texte non formaté</code><BR> <u>souligné ⇒ <u>souligné</u><BR> <B>Entètes:</B><BR> <h1> à <h6><BR> <B>Listes:</B><BR> <ul> bloc liste à puces<BR> <ol> bloc liste numérotée<BR> <li> ligne de liste<BR> <B>Liens:</B><BR> <A HREF="url"><BR> <IMG="url"><BR> <B>Tables:</B><BR> <table>⇒ table<BR> <tr>⇒ ligne de table<BR> <td>⇒ cellule de table<BR> </div> </div> <div tal:condition="python:string.count(str(here.page_type), 'DISABLED SECTION plaintext')"> <h5 i18n:translate="box_rest">Référence TextePlein</h5> <div class="portletBody"> Si c'est le cas, le texte s'affiche ici. </div> </div> </div>