Présentation sous forme de site web avec menu hiérarchique de sections, billets associés à chaque section, mise en page individuelle de chaque billet/section et page de plan de site

Informations générales

Description

L'extension "Simple Website" contient :

  • Une évolution de l'interface d'administration pour définir une arborescence de sections ainsi que la possibilité d'associer une ou plusieurs sections à chaque billet. En pratique, chaque section est un billet qui a été identifié comme tel. Cela permet d'utiliser l'ensemble des fonctions existantes. Une section a ainsi un nom (le titre du billet), un résumé de sa description (l'extrait du billet), une description complète (le corps du billet), la possibilité d'être commentée, d'être rétroliée, etc.
  • Un ensemble d'éléments de template permettant d'afficher, sur la page d'une section :
    • les éléments de la section courante
    • l'ensemble des sous-sections
    • le chemin hiérarchique permettant d'atteindre la section courante
    • l'ensemble des billets (navigable par pages) de la section et des sous-sections
  • Les flux de billets et de commentaires relatifs à chaque section
  • Un widget pour naviguer dans l'ensemble des sections
  • Une page "plan de site" présentant la hiérarchie des sections et leur description

Dans sa page d'administration, chaque billet dispose d'une section masquable "Site web simple". Si on n'y touche pas, le billet reste un billet standard. Lorsque la section est dépliée, on peut définir :

  • Sa position dans la hiérarchie : en sélectionnant son parent
  • Les billets qui y sont rattachés : en définissant un tag de regroupement
  • La mise en page de la section : en donnant le nom d'un fichier template se

trouvant dans le thème

  • L'URL à présenter pour le flux des billets (utile si on veut gérer les abonnements à travers un système externe type feedburner)

Le rajout d'un billet standard dans une section se fait tout simplement en associant à ce billet le tag défini dans la section. On notera que, dans la section "Site web simple", la zone "Nom de fichier template" peut être utilisée sur les billets standards pour leur donner, au cas par cas, une mise en page personnalisée.

Mise en œuvre

Un pré-requis avant d'écrire les templates relatifs à une utilisation de "Simple Website" est la modification du template "post.html" du thème utilisé. En effet, tous les affichages réalisés par cette extension (sections, plan de site) sont réalisés en prenant "post.html" comme base. Deux modification doivent y être apportées qui ne remettent pas en cause l'affichage des billets standards :

  • Dans le <head> HTML, les liens vers les flux doivent être adaptés pour permettre l'insertion des flux de section. En pratique, il suffit de

remplacer les tpl:BlogFeedURL par des tpl:swMenuFeedURL.

  • Il faut insérer un block <tpl:swCustomPostContent> autour du contenu de la zone <div id="main">. Ce block permet de, simultanément, conserver l'affichage d'un billet standard ou de le remplacer par le contenu du fichier de template personnalisé de chaque billet lorsqu'un tel fichier est défini dans la boite "Site web simple" du billet.

Il faut ensuite définir au minimum un fichier template pour l'affichage des sections. Ce fichiers ne contient bien évidemment que la partie intérieure à la zone <div id="main">.

Les éléments de templates utilisables pour mettre en forme les pages de section sont :

  • Block <tpl:swMenuHierarchyEntries> : c'est un block qui fonctionne comme <tpl:Entries> mais qui itère sur les sections constituant le chemin hiérarchique permettant d'atteindre la section courante.
  • Block <tpl:swMenuLevelEntries> : c'est également un block qui fonctionne comme <tpl:Entries> mais celui-ci itère sur les sous-sections de la section courante.

L'affichage du plan de site est réalisé à travers un fichier dédié "sitemap.html" qui, lui-aussi, ne contient que la partie de template intérieure à la zone <div id="main">.

Un fichier par défaut est intégré au plugin mais il est tout à fait possible de le rédéfinir dans le thème utilisé. Des éléments de templates additionnels sont nécessaires pour mettre en forme le plan de site :

  • Valeur tpl:swSitemapURL : c'est l'URL de la page qui affiche le plan de site.
  • Block <tpl:swDefineBlock name="XXX"> : c'est un élément générique qui définit un block réutilisable en plusieurs endroits. En pratique, il définit une fonction PHP qui affiche le contenu du block.
  • Valeur tpl:swReuseBlock name="XXX" : c'est le pendant de l'élement précédent. Les blocks définis peuvent être inséré à divers endroits avec cet élément.

L'affichage du plan de site sans limitation de la profondeur de l'arbre est réalisé par un swDefineBlock/swReuseBlock récursif en bouclant à chaque niveau sur les section via un swMenuLevelEntries.

Aperçus

simpleWebsiteAdmin.png

simpleWebsiteAdmin.png

simpleWebsiteSection.png

simpleWebsiteSection.png

simpleWebsiteWidget.png

simpleWebsiteWidget.png

Informations techniques

  • Version du plugin : 1.1
  • Version minimale de Dotclear : 2.0
  • Licence : Compatible GNU GPL v2
  • Support : N/A