Aller au contenu principal

Implémenter un fil d'Ariane

Prérequis

  • Avoir créé et défini une page d'accueil pour le site

Création d'une page

Nous allons dans un premier temps créer une nouvelle page. Ensuite, depuis l'onglet Configuration il faudra sélectionner une page parente et enregistrer les modifications :

Image

Le code permettant la gestion de notre fil d'Ariane devra s'appuyer sur la valeur parent. Par défaut, si aucune page n'est renseignée parent vaut null. Dans notre cas, parent correspond à la référence de la page d'accueil :

glossaire.fr_FR.md
locale: fr_FR
slug: glossaire
permalink: /fr_FR/glossaire
reference: glossaire
parent: 6454c5be7297c
date: '2023-05-05'
title: Glossaire
description: null
excerpt: null
tags: []
media: null
catalogs: null
category: []

Affichage du fil d'Ariane

Voici un exemple d'implémentation React permettant d'afficher d'un fil d'Ariane :

Breadcrumb.js
export default function BreadCrumb({ currentPage, pages }) {
const parentPages = []

const getParentPage = (currentPage, pages) => {
pages.map(page => {
if (page.reference === currentPage.parent) {
parentPages.push(page)
getParentPage(page, pages)
}
})
}

getParentPage(currentPage, pages)
const parentPagesOrdered = parentPages.reverse()

return (
parentPages.length > 0 ?
<ul>
{
parentPagesOrdered.map((page, index) =>
<li key={index}>
<a href={page.permalink}>
{page.title} /
</a>
</li>
)
}
<li>{currentPage.title}</li>
</ul>
:
<></>
)
}