Configuration nécessaire - préalable
- Spip 2.x (gestion des colonnes supplémentaires dans les boucles)
- Droits pour ajouter une colonne dans les tables spip
- Plugins champs extras 2
- Modifier les boucles en ajoutant un critère
- Fonctionne uniquement dans un site avec une authentification, sinon, aucun intérêt.
Etude de cas
J’ai eu récemment à mettre en place un extranet avec des articles accessibles à certains visiteurs authentifiés sur un SPIP 2.x
Ces contenus pouvaient se trouver n’importe où, restreindre avec l’accès restreint v3 les rubriques ne suffisait donc pas. J’ai donc crée une colonne supplémentaire dans la table auteur, « nivo_acces », et une colonne de même type dans la table des articles, « nivo_acces » également, histoire de faire simple. Ces deux colonnes ont comme valeur 1 par défaut.
En utilisant le plugins champs extras, j’ai ajouté la gestion de ces champs pour l’interface privée.
Ensuite dans toutes mes boucles articles, j’utilise la comparaison de ce critère entre le niveau de l’article et celui de l’auteur :
BOUCLE_art(ARTICLES){nivo_acces<=#SESSION{nivo_acces}}...
Et voilà. Temps de déploiement : 1/2h maxi en utilisant un rechercher remplacer sur les boucles articles (applicable à n’importe quel objet spip hors auteur) avec un bon éditeur de texte. Après, il faut bien sûr affecter les niveau d’accès désiré aux auteurs et aux articles.
L’avantage, c’est que les niveaux d’accès sont infini (ça part de 1 à n).
L’inconvénient, c’est qu’ils sont « hiérarchisé » (ce ne sont pas des « groupes »).
Cette contribution est intrusive, puisqu’elle demande l’ajout d’un critère dans les boucles.
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 : |