Le plugin Related, Pages connexes en français, c'est le truc magique du sorcier Zeubeubeu qui permet d'intégrer de simples pages dans le blog. C'est par exemple le cas ici pour les pages Infos, Première visite ou encore la feuille de style commentée, le template détaillé, etc.

J'avais fait un tuto sur son installation et sa mise en oeuvre mais les commentaires ont fait apparaître qu'il n'était pas très clair. Je reprends donc les explications, cette fois je l'espère accessibles à tous. Sinon, hurlez dans l'hygiaphone ci-dessous !

Plan du tuto :

  • Installation
    • installation du plugin
    • code à insérer dans template.php
  • Création des pages
    • via une catégorie dédiée
    • via des fichiers php
  • Affichage des pages
    • à chaque page son url
    • générer automatiquement la liste des pages connexes
    • exclure la catégorie dédiée du listage des catégories
    • modifier le nom de la page
    • prise en compte du titre de la page
  • Etablir un/des styles particuliers

Installation

C'est un plugin, donc...

Comme pour tous les plugins, commencez par l'installer dans votre caisse à outils, soit via le gestionnaire de plugin en renseignant l'URL d'installation automatique dans l'interface d'administration (http://zeubeubeu.net/vrac/plugins/plugin-related-0.50.pkg.gz), onglet Outils, lien Gestionnaire des plugins, soit via FTP en téléchargeant l'archive décompressée du plugin (http://zeubeubeu.net/vrac/plugins/plugin-related-0.50.tar.gz) dans le répertoire ecrire/tools/ (plus d'explications sur les deux méthodes d'installation d'un plugin sur la page du wiki Installer un plugin.

Prise en compte du plugin

Dans le fichier template.php du thème que vous utilisez[1], chercher les lignes :

<div class="error"><strong>Erreur : </strong>
<?php echo $err_msg; ?></div>

et ajouter juste après les lignes :

<?php elseif (is_callable(array('dcRelatedPages','relatedMode')) && dcRelatedPages::relatedMode()) : ?>
<?php dcRelatedPages::includeFile(); ?>

Création des pages connexes

Il existe deux façons de créer des pages connexes, qui peuvent être utilisées simultanément :

  • Dédier une catégorie à l'alimentation de ces pages.
  • Créer des fichiers php indépendants

Dédier une catégorie

Création des pages

Créez une catégorie quelconque (la bonne idée pourrait être de l'appeler Connexes !). Vous rédigerez dans cette catégorie des « billets », lesquels deviendront des pages annexes. Notez bien que pour être pris en compte ces billets devront posséder le statut Hors ligne.

Rappel, la dernière version (1.2.1) de DotClear autorisant l'inclusion de syntaxes différentes au sein même de la syntaxe wiki, vous disposez d'une panoplie de possibilités étendues quant au contenu de ces pages.

Attention : il ne s'agit pas de « vrais » billets, autrement dit ces pages ne pourront offrir la possibilité de recevoir des commentaires et/ou des trackbacks.

Prise en compte

Dans le panneau d'administration du plugin, dans le champ Billets d'une catégorie, sélectionnez la catégorie affectée aux pages connexes. La liste des pages connexes actives fera apparaître les billets de cette catégorie, qui s'afficheront comme des pages connexes.

Fichiers php

Création

Vous pouvez également utiliser le plugin en plaçant des fichiers php dans le répertoire /share/related/.

Ces pages devront porter l'extension php et ne comporter que le contenu des balises <body> à </body> (sans ces balises).

Prise en compte

Dans le panneau d'administration du plugin, cliquer sur le lien initialiser. La liste des fichiers s'affichera dans ce panneau.

Utilisation conjointe

A savoir : lors du clic sur le lien initialiser dans le panneau d'administration du plugin, la liste des pages connexes ne prendra en compte que les fichiers php placés dans le répertoire share/related/. Pour y ajouter les billets d'une catégorie dédiée il faudra de nouveau sélectionner cette catégorie dans le menu déroulant réservé à cet effet.

Affichage dans le blog

Au survol des pages listées dans le panneau d'administration, vous pouvez voir les URL conduisant à ces pages. A vous de placer les liens conduisant à ces pages à l'endroit où vous souhaitez les voir apparaître dans le fichier template.php.

Liste automatique

Pour afficher automatiquement la liste de toutes les pages connexes, insérez (par exemple dans le sidebar, à la suite de la liste des catégories), les lignes suivantes :

<div class="connexes">
<h2>Pages connexes</h2>
<?php if (is_callable(array('dcRelatedPages','relatedList'))) { dcRelatedPages::relatedList(); } ?>
</div>

Prise en compte de l'exclusion de la catégorie dédiée dans la liste du sidebar

Pour que la liste des catégories affichée dans le sidebar ne prenne pas en compte la catégorie dédiée aux pages connexes : dans le fichier template.php chercher la ligne

<?php dcCatList(); ?>

et la remplacer par :

<?php dcFilteredCatList('Connexes'); ?>

(soit l'url de la catégorie à exclure).

Modification éventuelle du nom de la page

Les pages peuvent également être ajoutées ou leur nom modifié via le fichier related.ini sous la forme suivante :

url = "nom du fichier php dans share/related|titre"

ou bien

url = "id du billet|titre"

A titre d'exemple, voici le contenu du fichier related.ini pour ce site :

gros-plan-sur-stylecss = "Gros plan sur style.css.php|Gros plan sur style.css"
gros-plan-sur-templatephp = "Gros plan sur template.php.php|Gros plan sur template.php"
theme-default-radiographie = "Theme default radiographie.php|Theme default radiographie"
aide = "aide.php|Aide"
infos = "infos.php|Informations et mentions légales"
outils = "outils.php|Ma boîte a outils"
somcat = "somcat.php|Sommaire du site"
test-pour-le-plugin-related-05 = "82|Test pour le plugin Related 0.5"

Prise en compte du titre de la page connexe dans la balise <title>

(Les versions 1.2.1 de DotClear et ultérieures ne nécessitent pas cette modification)

Chercher les lignes :

<title><?php dcSinglePostTitle('%s - '); dcSingleCatTitle('%s - ');
dcSingleMonthTitle('%s - '); dcInfo(); ?></title>

et les remplacer par :

<title><?php dcSinglePostTitle('%s - '); dcSingleCatTitle('%s - ');
dcSingleMonthTitle('%s - '); dcCustomTitle('%s - '); dcInfo(); ?></title>

Styler les pages annexes

Par défaut, les pages annexes se présentent de la même façon que les billets, c'est-à-dire qu'ils sont compris dans une <div class="post">. Si vous souhaitez leur appliquer un style particulier, il faut effectuer la modification suivante dans le fichier template.php :

Remplacer :

<?php dcRelatedPages::includeFile(); ?>

Par

<?php dcRelatedPages::includeFile('<div class="related"><h2>%s</h2><div class="related-chapo">%s</div><div class="related-content">%s</div></div>',array('post_titre','post_chapo','post_content')); ?>

Il ne vous restera plus qu'à indiquer dans votre feuille de style les règles pour .related, .related h2, .related-chapo et related-content.

Notes

[1] Rappel : si votre thème ne comporte pas ce fichier, recopiez tous les fichiers portant l'extension .php du répertoire themes/default/ vers le répertoire de votre thème.