DotClear 2 et les templates (9)

Continuons (et terminons) notre exercice pratique dont je rappelle l'énoncé :

J'ai prévu d'afficher un bloc particulier sur la page d'accueil. Ce bloc contiendra le dernier billet publié d'une catégorie précise ou à défaut, un texte fixe. Cette catégorie s'appellera Flash et ne servira qu'à gérer ce genre de petits messages et par conséquent ses billets ne devront pas apparaitre dans le flux normal[1].

Nous savons maintenant comment déterminer correctement si nous nous trouvons sur la première page (page d'accueil), il s'agit maintenant de faire en sorte d'afficher le dernier billet publié de la catégorie Flash, ou, s'il n'en existe aucun, d'afficher un texte fixe.

Voilà le code utilisé :

<tpl:FlagFirstPageIf true="1">

  {{tpl:FlagFlashPost}}

  <!-- # Last published post from Flash category (if exists) -->
  <tpl:Entries category="Flash" lastn="1">
    <h2 class="intro" id="p{{tpl:EntryID}}">
    <strong>{{tpl:EntryTitle encode_html="1"}}</strong></h2>
    <tpl:EntryIf extended="1"><span>{{tpl:EntryExcerpt}}</span></tpl:EntryIf> 
    <div class="post-content">{{tpl:EntryContent}}</div>
    {{tpl:FlagFlashPost true="1"}}
  </tpl:Entries>

  <tpl:FlagFlashPostIf true="0">
    <!-- # Standard text if there is no published post from Flash category -->
    <h2 class="intro"><strong>{{tpl:BlogDescription}}</strong></h2>
    <div class="post-content">
      <p>Ze best blog on ze best world of ze universe.</p>
    </div>
  </tpl:FlagFlashPostIf>

</tpl:FlagFirstPageIf>

J'ai mis l'emphase sur l'utilisation de deux nouvelles balises ({{tpl:FlagFlashPost}} et <tpl:FlagFlashPostIf>) qui sont exactement les mêmes que celles décrites dans les deux billets précédents à ceci près qu'elles utilisent une autre variable dans le code PHP.

Ces nouvelles balises me servent à positionner un drapeau (variable à true ou à false) en fonction de la présence ou pas d'un billet publié dans la catégorie Flash, et de tester la valeur de ce drapeau ce qui me permet, plus bas, d'afficher le texte standard si nécessaire.

Il n'y a absolument rien de nouveau ici, uniquement l'utilisation de techniques déjà expliquées précédemment ou reprises dans les fichiers standards du thème defaut. Rien de plus à mettre en place pour terminer notre exercice, on peut sauvegarder le fichier _intro.html et vérifier que tout fonctionne comme attendu.

Voilà qui conclut cette série de billets sur les templates de Dotclear 2. J'espère que cela aura permis d'éclairer quelques zones d'ombres dans ce système qui peut — qui doit même pour certains — paraitre bien compliqué au premier abord. Je parle en connaissance de cause, je suis passé par cette phase ;-)

Notes

[1] Par contre j'ai choisi de laisser l'accès à tous ces billets particuliers dans la liste des catégories ou dans les archives.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/3122

Haut de page