Préambule

Il est conseillé de lire ou relire ce billet avant de commencer.

Les marqueurs EntryNotes et IfEntryNotes

Pour pouvoir en disposer dans votre thème, il vous faut copier/coller à la fin du fichier _public.php ceci :

$core->tpl->addValue('EntryNotes',array('tplMrvb05','EntryNotes'));
$core->tpl->addBlock('IfEntryNotes',array('tplMrvb05','IfEntryNotes'));

class tplMrvb05
{
  public static function EntryNotes()
  {
    return('<?php echo($_ctx->posts->post_notes); ?>');
  }

  public static function IfEntryNotes($attr,$content)
  {
    $is = isset($attr['is']) ? trim($attr['is']) : '1';
    if ($is == '1') {
      return
      '<?php 
      $rs = $_ctx->posts->post_notes;
      if ((strlen($rs) > 0) && (strpos($rs, \'<\') == 0)){  ?>'.
      $content.
      '<?php } ?>';
    } else {
      return
      '<?php 
      $rs = $_ctx->posts->post_notes;
      if ((strlen($rs) == 0) || (strpos($rs, \'<\') > 0)){  ?>'.
      $content.
      '<?php } ?>';
    }
  }
}

Il ne reste plus qu'à enregistrer le fichier. Vous venez de créer une nouvelle classe tplMrvb05 que vous avez enrichie des marqueurs EntryNotes et IfEntryNotes.

Comment utiliser EntryNotes

Pour afficher le contenu du champ notes, il vous suffit de placer

{{tpl:EntryNotes}}

à l'endroit voulu dans le fichier post.html et/ou le fichier page.html de votre thème ou dans une boucle de type <tpl:Entries>...</tpl:Entries> présente dans les fichiers du thème affichant tout ou partie du contenu des billets comme home.html, category.html... etc...

Comment utiliser IfEntryNotes

Si vous souhaitez effectuer une opération uniquement si le premier caractère du champ "Notes" est "<" (par défaut), vous utiliserez le marqueur IfEntryNotes  comme ceci :

<tpl:IfEntryNotes>
    ...
</tpl:IfEntryNotes>

Le marqueur IfEntryNotes accepte un paramètre optionnel : <tpl:IfEntryNotes is="x"> permettant de tester la présence dans le champ "Notes" d'un texte dont le premier caractère est "<" (is absent ou is="1") ou pas (is="0").

Exemple : afficher "OUI" si le premier caractère est "<" :

<tpl:IfEntryNotes>
    <p>OUI</p>
</tpl:IfEntryNotes>

ou

<tpl:IfEntryNotes is="1">
    <p>OUI</p>
</tpl:IfEntryNotes>

Exemple : afficher "NON" si le premier caractère est différent de "<" :

<tpl:IfEntryNotes is="0">
    <p>NON</p>
</tpl:IfEntryNotes>

Remarque

Ces marqueurs font partie d'une série de marqueurs de template que j'ai écrits ex-nihilo ou inspiré par d'autres développeurs. Je souhaite faire en sorte que chaque marqueur, chaque billet qui le présente soit autonome. Comprendre : pas besoin d'installer les autres marqueurs pour que ça fonctionne. Pour ce faire et pour simplifier le copier/coller, chaque marqueur se voit déclaré dans sa propre classe tplMrvb01, tplMrvb02, etc...

Mise à jour du 31/01/2015 :
il n'est pas/plus nécessaire d'avoir ?> en dernière ligne du fichier _public.php.

Mise à jour du 20/03/2016 :
Ce marqueur de template est également présent dans le fichier _public.php en téléchargement ici.