Plugin breadcrumb 0.4 pour Dotclear 2

Une nouvelle version de ce petit plugin qui prend en charge la pagination dans les contextes supplémentaires suivants[1] :

  • Billets d’une catégorie
  • Billets associés à un mot-clé
  • Billets retrouvés sur une recherche

Présentation

Ce plugin indique en permanence la position de la page affichée par rapport à la page d’accueil du blog.

Exemple lorsqu’on consulte ce billet qui appartient à la sous-catégorie Plugins de la catégorie Dotclear :

Accueil › Dotclear › Plugins › Plugin Breadcrumb 0.4 pour Dotclear 2

Installation et utilisation

Le plugin s’installe comme tout plugin de Dotclear, rien de nouveau ici. Par contre il faudra modifier le fichier template correspondant à l’endroit où vous souhaitez afficher le Breadcrumb. En général, le fichier _top.html est un bon choix car il permet d’obtenir l’affichage quelque soit le contexte courant.

La balise à ajouter est la suivante : {{tpl:Breadcrumb}}

Un paramètre optionnel, nommé separator, permet de spécifier si nécessaire la chaîne de caractère qui sépare les éléments du Breadcrumb. Par défaut c’est la chaîne (le est l’équivalent de l’entité HTML ›).

Exemple :

{{tpl:Breadcrumb separator=" :: "}}

Le premier élément est doté d’un id afin que vous puissiez le styler, soit si je reprends l’exemple cité au début de ce billet :

<a id="bc-home" href="/">Accueil</a> &rsaquo; Dotclear &rsaquo; Plugins &rsaquo; Plugin Breadcrumb 0.4 pour Dotclear 2

Tous les éléments, hormis le dernier, sont bien évidemment dotés du lien idoine (page d’accueil, catégorie Dotclear, catégorie Plugins).

Extension

Le plugin prend nativement en charge les contextes suivants :

  • default et default-page : Page d’accueil (première page et pages suivantes)
  • category : Billets d’une catégorie
  • post : Billet seul
  • lang : Billets d’une langue sélectionnée
  • archive : Archives du blog
  • pages : Page seule
  • tags : Tous les mots-clés
  • tag : Billets comportant un mot-clé sélectionné
  • search : Billets résultant d’une recherche
  • 404 : Page d’erreur

Les autres plugins peuvent s’inviter dans la danse en gérant un behaviour publicBreadcrumb qui fournit en paramètre le type d’URL correspondant au contexte (voir la liste ci-dessus pour les contextes natifs) et le séparateur à utiliser si nécessaire pour séparer les différents éléments.

La valeur de retour de ce behaviour sera, si elle est non vide, ajoutée après le lien vers la page d’accueil et précédée comme il se doit par le séparateur.

Exemple pour un plugin de formulaire de contact :

$core->addBehavior('publicBreadcrumb',array('extContactMe','publicBreadcrumb'));

class extContactMe
{
	public static function publicBreadcrumb($context,$separator)
	{
		if ($context == 'contactme') {
			return __('Contact me');
		}
	}
}

L’affichage produit pour le Breadcrumb sera alors :

<a id="bc-home" href="http://www.example.com/">Accueil</a> &rsaquo; Formulaire de contact

À défaut de retour sur ce behaviour — ce qui peut indiquer que le contexte est inconnu — seul un lien vers la page d’accueil du blog sera affiché.

Conclusion

N’hésitez pas à me faire toutes les remarques que vous auriez au sujet de ce petit plugin, ce billet servira de support pour celui-ci, en tout cas pour cette version.

Note

[1] Jusqu’à présent seule la page d’accueil était gérée de cette façon.

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/8124

Haut de page