Le problème posé
Comment placer un même article dans plusieurs rubriques en concervant la hierarchie de chaque rubrique, pour permettre d’afficher le « bon » chemin de navigation jusqu’à l’article ?
Le cas des hierarchies simples
Avec SPIP il est possible de gérer la présence d’un article dans plusieurs catégories en utilisant des mots-clés pour créer les catégories. C’est la technique utilisée sur les blogs.
En placant différents mot-clés sur l’article, on peut le faire apparaitre dans plusieurs catégories. Mais une telle solution n’est indiquée que pour des hierarchies simples, en effet, il n’est pas possible de faire des sous-catégories imbriquées avec les mot-clés.
Le cas des hierarchies complexes
Diego Weisz, un spipeur italien, propose de créer à la main les différentes structures hiérarchiques du site avec des rubriques et d’inserer le même article dans la plupart d’entre elles en utilisant la redirection d’article.
Les limites
Ce type de gestion à assurément quelques limites :
- L’impossibilité de voir dans quelles rubriques un article est présent, et tous les articles qui font une redirection vers l’article original dans une même page.
- L’impossibilité d’utiliser la hiérarchie des articles virtuels tant que SPIP prendra pour référence l’article réel. En d’autres termes : il n’est pas possible d’utiliser la boucle HIERARCHIE pour montrer le chemin de navigation de l’article virtuel dans la page montrant l’article lui-même.
Pour le premier point, il n’y a pas grand chose à espérer, nous demandons sommetoute à SPIP de faire ce qu’il n’est pas supposé faire.
Un dernier effort
S’agissant du second point, il est possible d’utiliser une bidouille assez simple consistant à adapter l’url de redirection.
Toutes les fois qu’un utilisateur demande la page d’un article pour laquelle une redirection existe, SPIP redirige le navigateur vers l’URL spécifiée. Cependant, cette dernière ne posséde aucune référence sur la hierarchie de l’article virtuel.
S’il était possible de rediriger le navigateur vers une URL contenant une indication sur l’ID de l’article source, alors il devrait être possible de montrer les éléments de l’article original et, en même temps, d’utiliser la hierarchie de l’article virtuel.
Supposons que nous ayons 2 articles avec respectivement les ID 1 et 2, ce dernier étant un article virtuel devant être redrigé vers l’article 1. Il suffira d’écrire cette url dans la boite de redirection :
http://monsite.net/article.php3?id_article=1&id_virt=2
La variable id_virt a été introduite et sa valeur est celle de l’id de l’article virtuel.
Il ne reste plus qu’a utiliser cette information à l’interieur du squelette de votre page pour montrer le chemin de navigation adequat, en tenant compte du fait que pour l’article dans la hierarchie originale, id_virt n’est pas présent.
Nous pouvons remercier la boucle suivante :
<!-- If id_virt exists - it selects the article with id=id_virt-->
<BOUCLE_art(ARTICLES) {id_article=#ENV{id_virt}}>
<BOUCLE_hier(HIERARCHIE) {id_article}>
</BOUCLE_hier>
</BOUCLE_art>
<!-- id_virt does not exist - it selects the article with id=id_article-->
<BOUCLE_art2(ARTICLES) {id_article}>
<BOUCLE_hier2(HIERARCHIE) {id_article}>
</BOUCLE_hier2>
</BOUCLE_art2>
<//B_art>
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |