SPIP n’affiche que les rubriques qui contiennent au moins un élément publié (soit un article, un site référencé ou une brève). Sur certains sites, il existe beaucoup de rubriques avec seul article. Cela ajoute beaucoup de clics à la navigation car il faut selectionner la rubrique puis l’article pour le visionner.
Une solution est de faire un affichage « alternatif » :
- la rubrique ne contient qu’un seul article, on l’affiche en entier
- la rubrique contient plus d’un article, on affiche une introduction avec le lien
Ce qui donne en code
Page rubrique.html
A l’intérieur de la boucle générale
<!-- rubrique: lister articles -->[(#REM)
a t'on plus d'un article ds rubrique ?
- si oui, on affiche l'article en entier
- si non, on affiche les resumes
]<BOUCLE_plusUnArtDsRub(ARTICLES){id_rubrique}{par date}{1,n}> </BOUCLE_plusUnArtDsRub>
<BOUCLE_art_rub(ARTICLES){id_rubrique}{par date}{inverse}>
<INCLURE{fond=inc/inc_article_resume}{id_article}>
</BOUCLE_art_rub>
</B_plusUnArtDsRub>
<BOUCLE_artSeul(ARTICLES){id_rubrique}>
<INCLURE{fond=inc/inc_article_entier}{id_article}>
</BOUCLE_artSeul>
<//B_plusUnArtDsRub>
Page inc/inc_article_resume.html
Code pour afficher les articles en « résumé » : on utilise #INTRODUCTION et on fait lien sur l’article complet avec #URL_ARTICLE
<BOUCLE_trouveArt(ARTICLES){id_article}>[<div class="surtitre">(#SURTITRE)</div>][
<h2><a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a> </h2>][
<div class="soustitre">(#SOUSTITRE)</div>]
[(#INTRODUCTION)]
<a href="#URL_ARTICLE" class="suite"><:lire_article_seul:></a>
</BOUCLE_trouveArt>
Page inc/inc_article_entier.html
Code pour afficher l’article en entier (pour simplifier il n’y a pas les documents, forums, pétitions liés à cet article)
<BOUCLE_trouveArt(ARTICLES){id_article}> [<div class="surtitre">(#SURTITRE)</div>]
[<h1>(#TITRE|supprimer_numero)</h1>][
<div class="soustitre">(#SOUSTITRE)</div>]
[(#LOGO_ARTICLE|left||reduire_image{120,120})][
<div class="chapo">(#CHAPO)</div>]
[(#TEXTE|opendocblank)][
<div class="hypertxt"><strong>Lien hypertexte:</strong> <a href="#URL_SITE" class="spip_out">(#NOM_SITE)</a></div>]
[<div class="ps">(#PS)</div>][
<div class="note">(#NOTES)</div>]</BOUCLE_trouveArt>
Explication
- la boucle <BOUCLE_plusUnArtDsRub>
utilise le paramètre 1,n est une boucle test. Elle ne renvoie rien et sert uniquement à savoir si on posséde plus de 1 article dans la rubrique
on peut la résumer par :
<BOUCLE_plusUnArtDsRub(ARTICLES){id_rubrique}{par date}{1,n}> </BOUCLE_plusUnArtDsRub>
1 article</B_plusUnArtDsRub>
Plus de 1 article<//B_plusUnArtDsRub>
Référence : Syntaxe des boucles
- Ensuite dans chacune des branches, on va injecter le code pour afficher le prévisulisation de l’article ou l’article en entier en utilisant le INCLURE. Avec cette balise, il faut passer le chemin (l’endroit où l’on veut cherche le squelette) et les variables que l’on veut passer (ici la variable id_article
Ce qui donne :
<INCLURE{fond=inc/inc_article_entier}{id_article}>
Référence : INCLURE d’autres squelettes
Compléments
A vous de compléter et de modifier les fichiers appelés par les INCLURE selon vos besoins avec les boucles documents, forums, pétitions, la pagination, ...
Alternative - Boucles similaires
Dans le même esprit et dans le cas de la réalisation d’un menu voir aussi Afficher directement l’article si la rubrique n’en a qu’un
Discussions par date d’activité
6 discussions
Voici une adaptation qui gère la présence de sous-rubriques, et qui fonctionne également sous Spip 2.1 (curieusement le filtre 0,n génère une erreur de compilation) et adaptable aux squelettes Zpip.
Le fichier du squelette normal des rubriques (rubrique.html) est à renommer en rubrique-normal.html. Ensuite recopiez le code ci-dessous dans le fichier rubrique.html. (Pour Zpip, il faut renommer le fichier contenu/rubrique.html en rubrique-normal.html, et placer le code ci-dessous dans contenu/rubrique.html).
Fichier rubrique.html :
Répondre à ce message
Le Plugin Compositions pour SPIP 2.0 permet maintenant de gérer très facilement les variantes de squelettes en fonction des articles, rubriques etc ...
Répondre à ce message
Bonjour à toutes et à tous,
Excusez-moi de poser une question toute bête, mais je souhaiterais savoir comment faire pour afficher systématiquement tous les articles EN ENTIER (de façon à ce que l’on ne voit plus « suite »).
C’est certainement plus simple qu’un affichage conditionnel, mais je suis très embêté, et je ne comprends pas grand chose aux boucles.
Merci à toutes et à tous pour votre / vos réponse(s)
Répondre à ce message
Bonjour,
Je suis pas une pro de SPIP encore... Je veux afficher en entier mes articles, je vois tout vos codes et je ne sais pas dans quel fichier les insérer ? Je travaille avec les squelettes d’alternative.
Merci de votre aide,
Catherine
je suis pareil que toi Catherine je souhaite afficher tous mes articles en entier...et malheureusement je ne comprends pas ce topic et je ne trouve aucune autre ressource...
Je suis bien dans la mouise...
Répondre à ce message
bonjour,
je souhaite un affichage conditionnel de mon article, en état normal afficher la balise
#INTRODUCTION
et au survol de la souris la balise#TEXTE
.existe-t-il une solution ?
merci par avance
Répondre à ce message
cela ne marche que s’il n’y a pas de sous rubriques ....
Répondre à ce message
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 : |