Créer un système d’archivage (en jouant avec statut)

une astuce pour créer un système d’archivage à moindre frais en détournant le statut des articles.

SPIP conserve tous les articles dans la base de données. Tous les articles publiés sont en ligne. Cela peut être parfois être génant si on veut distinguer les articles toujours d’actualités et ceux qui doivent être archivés (mais rester consultables à la demande).
Voir aussi Plugin Archive.

Méthode du rangement

La méthode du rangement consiste à utiliser la structure de répertoire de SPIP. On crée un répertoire « archives » dans lequel on placera tous les articles anciens.

Problèmes :
-  Il faut créer des nouveaux répertoires et reprendre les squelettes pour exclure des répertoires
-  Manipulation fastidieuse si l’on a beaucoup d’articles

Méthode de la date

Tous les articles agés de plus de n jours sont listés sur une page archive. L’avantage de cette méthode est qu’elle ne nécessite pas de manipulation ultérieure : il faut juste attendre que temps passe... De plus, si la date n’est pas une donnée importante, on peut même forcer à archiver un article en l’anti-datant.

Problèmes :
-  Convient bien pour des sites avec un fonctionnement de type agenda ou blog où les articles les plus anciens sont ceux à archiver. Si le choix des articles à archiver est arbitraire (indépendant de la date et on ne peut trafiquer la date car elle est pertinente), cette méthode ne fonctionne plus.
-  Il faut reprendre le jeu de squelette et jouer avec le critère {age}

Méthode du mot clé

On crée un mot-clé « A archiver ». Lorsqu’un article est trop vieux, on lui attribue le mot clé

Problèmes :
-  Il faut reprendre les squelettes pour exclure des articles qui possèdent ce mot clé
-  Manipulation un peu fastidieuse si l’on a beaucoup d’articles

Méthode du statut

On va détourner l’utilisation habituelle du statut « refusé » des articles. Au lieu de signaler « l’article est non publié », le fait de choisir « réfusé » permettra de l’archiver

Avantages :
-  Modification rapide des statuts
-  Peu de modifications de squelettes puisque les articles réfusés sont par défaut exclus du site public

Exemple de mise en place

Page courante : rubrique, plan, ....
Rien à faire les articles sont exclus automatiquement !

Page recherche
On peut rajouter une recherche sur les articles archivés grâce au filtre {statut=refuse} disponible depuis SPIP 1.8.2 :

<!-- liste articles archivés -->
<B_art_rub2>
<ul class="search">
<BOUCLE_art_rub2(ARTICLES){recherche}{statut=refuse}{par points} {inverse}{0,20}>                 
<li><a href="article_archive.php?id_article=#ID_ARTICLE">#TITRE</a></li>                    
</BOUCLE_art_rub2></ul>
</B_art_rub2>

Page article archivé (article_archive.html)

On va créer une page spéciale pour consulter les archives

<BOUCLE_art_principal(ARTICLES){id_article}{statut=refuse}>

<div id="warning">              
<strong>Attention:</strong> le contenu de cet article n'est plus à jour               Il reste disponible en ligne pour un soucis d'archivage et de chronologie              
</div>
              
<h1>#TITRE</h1>

</BOUCLE_art_principal>

Pour finir...

Pour les perfectionnistes, on peut retoucher le fichier de langue pour que dans l’espace privé, il n’y ait de confusions. Ajouter (ou créer) un fichier de langue personnalisé pour votre jeu de squelettes /mondossier_squelette/lang/local_fr.php

'texte_statut_refuse' => 'archiv&eacute;',

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom