Tout d'abord, nous avons besoin d'ajouter un filtre à la balise de template <tpl:Entries> qui permettra de ne pas récupérer le lien vers le billet courant dans la liste des billets. Cela va se faire en ajoutant ce bout de code dans le fichier _public.php du thème utilisé :

<?php
$core->addBehavior('templateBeforeBlock',array('behaviorsExcludeCurrentPost','templateBeforeBlock'));

class behaviorsExcludeCurrentPost 
{
	public static function templateBeforeBlock($core,$b,$attr)
	{
	       if ($b == 'Entries' && isset($attr['exclude_current']) && $attr['exclude_current'] == 1)
	       {
		       return
		       "<?php\n".
		       '$params["sql"] .= "AND P.post_url != \'".$_ctx->posts->post_url."\' ";'."\n".
		       "?>\n";
	       }
	}
}
?>

Note : attention, si vous avez déjà un fichier _public.php dans votre thème, ne copiez ni la première ni la dernière ligne de ce code. Si vous n'en avez pas, créez-le à la racine du répertoire du thème et collez-y tout le code ci-dessus.

Ensuite, il faut aller dans le fichier post.html du thème utilisé, et y ajouter, là où vous voulez afficher la liste, la boucle suivante :

<div id="cat-related">
  <h3>Dans cette catégorie</h3>
  <ul>
    <tpl:Entries category="#self" no_content="1" no_context="1" lastn="5"  exclude_current="1">
    <li><a href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></li>
    </tpl:Entries>
  </ul>
</div>

Les habitués auront remarqué l'apparition d'un nouveau paramètre à la balise <tpl:Entries>, il s'agit de exclude_current="1" qui permet d'exclure le billet courant de la boucle.