Tags catégorisés sur les articles #37
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objectif
Ajouter un système de tags à deux niveaux (catégorie → tags) sur les articles. Les tags sont regroupés par catégorie dans
meta.jsonet permettent de naviguer par sujet sur le site.Structure de données
Ajout d'un champ
tagsdansmeta.jsonde chaque article :Les articles sans
tagssont traités comme{}(rétrocompatibilité).Composants à implémenter
1.
ArticleManagerloadArticle(): lire le champtagsdepuismeta.json(défaut{})save()/update(): persister les tags dansmeta.jsongetByTag(string $category, string $tag): array— retourne les articles portant un tag donnégetAllTags(): array— retourne toutes les catégories et leurs tags distincts, avec le nombre d'articles2. Formulaire article (
post_form.php)Interface d'édition des tags :
3. Affichage article (
post_view.php)4. Liste des articles (
post_list.php)?cat=tech&tag=php)5. Page d'index des tags (optionnel)
/tagslistant toutes les catégories, leurs tags, et le nombre d'articles associésMigration
Les articles existants n'ont pas de champ
tags— le code doit gérer l'absence du champ sans erreur. Pas de migration de données requise.Critères d'acceptation
meta.jsonpeut contenir un objettagsstructuré par catégorieArticleManagerlit/écrit les tags sans erreur, y compris si le champ est absent?cat=X&tag=Yfonctionne sur la page listetagsTicket migré vers le dépôt Folio : cedricAbonnel/folio#26