Ne pas afficher certains articles en page d`accueil - Sarka-SPIP

Transcription

Ne pas afficher certains articles en page d`accueil - Sarka-SPIP
Ne pas afficher certains articles en page d'accueil
Extrait du Sarka-SPIP
http://sarka-spip.com
Ne pas afficher certains
articles en page d'accueil
- Sarka-Contrib - Navigation -
Date de mise en ligne : samedi 3 fvrier 2007
Description :
•
Cette contribution permet aux rédacteurs de marquer certains articles pour qu'ils ne s'affichent pas sur la page d'accueil. Un article ainsi marqué pourra être
identifié, dans la zone publique, via l'affichage d'une "étiquette" visible dans la colonne de gauche.
Sarka-SPIP
Copyright © Sarka-SPIP
Page 1/6
Ne pas afficher certains articles en page d'accueil
Version SPIP de base : spip 1.9.1
Version squelette de base : sarka 1.9.1
Public : débutant / confirmé
Motivation
Cette contribution fait suite à la demande d'un utilisateur :
Auriez-vous une idée sur la manière de constituer des archives. Il faudrait que celui qui le souhaite puisse
consulter les archives dans une rubrique spéciale qui ne ferait pas apparaître les articles stockés dans la
page d'accueil.
Objectif
Cette contribution permet aux rédacteurs de marquer certains articles pour qu'ils ne s'affichent pas sur la page
d'accueil. Un article ainsi marqué pourra être identifié, dans la zone publique, via l'affichage d'une "étiquette" visible
dans la colonne de gauche.
Mise en oeuvre du point de vue squelette
Modification de \squelettes\sommaire.html
Le fichier sommaire.html doit être modifier pour ne pas afficher les articles contenus dans la rubrique marquée par
un mot-clé appartenant au groupe squelette_no-sommaire.
Pour cela, nous travaillons sur la boucle ARTICLES, lignes 101 à 131, qui se présente initialement sous la forme
suivante :
Copyright © Sarka-SPIP
Page 2/6
Ne pas afficher certains articles en page d'accueil
<!-- Une : derniers articles publies -->
<:articles_recents:>
<BOUCLE_article(ARTICLES) {doublons} {id_rubrique!=#RUBRIQUE_AGENDA}{id_rubrique!=#RUBRIQUE_GALERIE}{par
date} {inverse} {0,5}>
[
(#LOGO_ARTICLE||image_reduire{150})]
[(#DATE|nom_jour)] [(#DATE|affdate)]
<B_auteurs-article>
<:par_auteur:>
<BOUCLE_auteurs-article(AUTEURS) {id_article} {", "}>
#NOM
</BOUCLE_auteurs-article>
</B_auteurs-article>
<BOUCLE_rubrique-mere(RUBRIQUES){id_rubrique}>
[(#TITRE|supprimer_numero)]
</BOUCLE_rubrique-mere>
[
(#SURTITRE)]
[(#TITRE|supprimer_numero)]
[
(#SOUSTITRE)]
[(#INTRODUCTION|typo_couleur)]
<:lire_suite_article:>
</BOUCLE_article>
Copyright © Sarka-SPIP
Page 3/6
Ne pas afficher certains articles en page d'accueil
Au-dessus de cette boucle, nous ajoutons une boucle ARTICLES filtrée pour "passer en revue" l'ensemble des
articles associés à un mot clé contenu dans le groupe squelettes_no-sommaire. Étant donné que la boucle article
principale comprend le critère doublon, les articles précédemment "passé en revue" dans notre petite boucle ne
s'afficheront pas :
Copyright © Sarka-SPIP
Page 4/6
Ne pas afficher certains articles en page d'accueil
<BOUCLE_article-no-sommaire(ARTICLES) {type_mot=squelette_no-sommaire}>
<!-- Cette boucle "passe en revue" les articles à ne pas afficher en page d'accueil, grâce au critère
{doublon} de la boucle suivante -->
</BOUCLE_article-no-sommaire>
<:articles_recents:>
<BOUCLE_article(ARTICLES) {doublons} {id_rubrique!=#RUBRIQUE_AGENDA}{id_rubrique!=#RUBRIQUE_GALERIE}{par
date} {inverse} {0,5}>
[
(#LOGO_ARTICLE||image_reduire{150})]
[(#DATE|nom_jour)] [(#DATE|affdate)]
<B_auteurs-article>
<:par_auteur:>
<BOUCLE_auteurs-article(AUTEURS) {id_article} {", "}>
#NOM
</BOUCLE_auteurs-article>
</B_auteurs-article>
<BOUCLE_rubrique-mere(RUBRIQUES){id_rubrique}>
[(#TITRE|supprimer_numero)]
</BOUCLE_rubrique-mere>
[
(#SURTITRE)]
[(#TITRE|supprimer_numero)]
[
(#SOUSTITRE)]
[(#INTRODUCTION|typo_couleur)]
<:lire_suite_article:>
</BOUCLE_article>
Copyright © Sarka-SPIP
Page 5/6
Ne pas afficher certains articles en page d'accueil
Modification de \squelettes\inclusions\bloc-gauche.html
Pour afficher l'"étiquette" de l'article dans la colonne de gauche, nous allons ajouter quelques lignes au fichier
bloc-gauche.html. par "étiquette", nous entendons le mot-clé du groupe squelette-no-sommaire utilisé par le
rédacteur pour marquer l'article.
Ligne 4 du fichier, ajoutons les lignes :
<B_etiquette-no-sommaire>
<BOUCLE_etiquette-no-sommaire(MOTS) {id_article}{type=squelette_no-sommaire}>
[
(#TITRE)]
</BOUCLE_etiquette-no-sommaire>
</B_etiquette-no-sommaire>
Les classes de bloc utilisés ici constituent un détournement des classes destinées à l'affichage des statistiques.
Cette solution présente le mérite d'éviter une modification de la feuille de style, mais le résultat est graphiquement
très contestable. Il est recommandé de créer dans le fichier styles.css une nouvelle classe spécifique à cette
étiquette.
Retour sur le fichier article.html pour contextualiser l'inclusion du bloc de gauche
En l'état, cette modification est inopérante. En effet, nous utilisons dans la boucle MOT le critère id_article pour
sélectionner le mot clé associé à l'article affiché. Or, comme nous travaillons sur un fichier inclus dans la page
article.html, il faut passer id_article comme critère lors de l'inclusion.
Dans le fichier article.html, la ligne 50 devient :
<INCLURE{fond=bloc-gauche}{id_rubrique}{id_article}>
Mise en oeuvre du point de vue rédacteur
Une fois ces modifications apportées au squelette, il faut créer un nouveau groupe de mots-clés, nommé
squelette_no-sommaire, et ajouter un ou plusieurs mot(s)-clé(s) dans ce groupe (par exemple : archive).
Pour masquer certains articles du sommaire, il suffira alors de leur associer un des mots-clés de ce groupe, auquel
cas le mot-clé utilisé s'affichera dans la colonne de gauche lors de la visualisation de l'article par un visiteur.
Copyright © Sarka-SPIP
Page 6/6

Documents pareils