SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

246 Plugins, 178 contribs sur SPIP-Zone, 228 visiteurs en ce moment

Accueil du site > Squelettes > Outils pour squelettes > Exclure-secteur > Plugin Exclure-secteur

Plugin Exclure-secteur

8 avril 2009 – par Maïeul – 23 commentaires

2 votes

L’idée du plugin « exclure-secteur » est née lors d’un apéro-spip au cours d’une discussion avec Romy Têtue et gaspard.

La question était de savoir que faire des articles « inclassables » (par exemple « crédits », « informations légales », etc.). Tetue et moi-même sommes partisans de les mettre en vrac dans un secteur, même s’il est désormais possible de créer des pages liées à aucune rubrique.

Cependant, Gaspard a fait remarquer que cela le « fatiguait » de mettre à chaque fois un critère {id_secteur!=xxx} dans ses boucles.

Ce plugin se propose de résoudre ce problème.

Configuration requise et installation

Il a été testé et développé sur un SPIP 2.0 mais devrait fonctionner sur les versions 1.9.

Il s’installe comme n’importe quel plugin SPIP (mais il nécessite le plugin CFG).

Par ailleurs, sous les versions 1.9.x, le plugin surcharge les boucles ARTICLES / RUBRIQUES / BREVES / SITES, et du coup, ne peut être compatible avec d’autres plugins les surchargeant. En revanche, ce n’est plus le cas pour les versions 2.x.

Utilisation

Une fois installé, rendez-vous sur /ecrire/?exec=cfg&cfg=secteur.

Vous obtenez un formulaire listant les secteurs de votre site. Cochez ceux dont vous souhaitez qu’ils soient exclus des boucles :
-   RUBRIQUES
-   ARTICLES
-   SITES
-   BREVES

Dès lors, toutes ces boucles se comporteront comme si elles avaient un critère {id_secteur NOT IN les_secteurs_choisis}.

Faire des exceptions

C’est bien gentil tout cela, mais à un moment, on aimerait bien afficher quand même un article, une rubrique …d’un des secteurs sélectionnés.

Comment faire ?

Solution 1. Il est possible de le faire en ajoutant un critère {id_secteur=x} ou {id_secteur==xx} ou {id_secteur IN X,Y}.

Solution 2. Il est possible de le faire en ajoutant un critère {tout_voir} sur un boucle, qui force alors l’affichage quel que soit le secteur.

Solution 3. On peut activer une option dans la page de configuration du logiciel pour que {tout} soit équivalent, en ce qui concerne l’exclusion des secteurs, à {tout_voir}.

Solution 4 Depuis la version 1.2, on peut configurer dans l’espace privé que si on mentionne explicitement l’id de l’objet sur lequel on Boucle, cela fasse "sauter" l’exclusion par secteur. Par exemple, sur une boucle articles, {id_article} ou {id_article=x} ou {id_article==X} ou {id_article IN xx} fait, si le plugin est configurer pour, prendre l’article correspondant, même s’il se trouve dans un secteur exclus.

Limites du plugin

Pour le moment, le plugin n’exclut pas les documents associés à des articles / rubriques / breves / sites des secteurs sélectionnés.

La raison est assez simple : il faudrait que je fasse des jointures sur la table ad hoc, ce que je n’ai pas eu encore le temps de coder. De plus, l’organisation des tables a changé entre la version 1.9 et la 2.0 ; du coup, il faudrait faire des tests. [1]

Notes complémentaires

Limiter l’accés de la page de configuration

Il est possible de limiter l’accès à la page de configuration avec le plugin autorité.

Les squelettes de l’espace privé

Depuis SPIP 2.0, de nombreuses pages de l’espace privé sont sous formes de squelettes, et tout porte à croire que le nombre de pages ainsi construites devrait augmenter. Le plugin test donc, sur SPIP 2.0, si nous sommes ou non dans l’espace privé, et n’applique ses réglages qu’à l’espace public.

Les crayons

Si comme moi vous adorer les crayons, n’oubliez pas d’activer la possibilité qu’un id objet défini explicitement fasse sauter l’exclusion par secteur (voir plus haut "solution 4"), dans le cas contraire, vous devrez recharger la page à chaque modif d’un objet dans un secteur exclus, ce qui limiterait l’interêt du plugin crayon.

Licence et remerciement

Le plugin, disponible sur la zone, est distribué en Licence GPL.

Je remercie vivement Denisb qui m’a aidé a codé ce plugin entre 23h30 et 2 heures du matin dans la nuit du 3 au 4 avril 2009.

Je remercie aussi le codeur des squelettes de Contrib, qui m’a donné la base nécessaire au codage du plugin, ainsi que Cerdic qui m’a signalé la présence de la pipeline pre_boucle.

Notes

[1] Note : remarquons que, de toute manière, il n’est pas possible pour l’instant avec SPIP de faire un boucle <BOUCLE_x(DOCUMENTS){id_secteur!=xxx}>....

Retour en haut de la page

23 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3

  • Répondre à ce message

    25 août 2009 12:20, par sophie

    Pour ma part, je l’ai testé sur un site en SPIP 1.9.2d [11132] muni des plugins suivants :
    -  Formulaires&Tables (SPIP 1.9.1+)
    -  Thickbox v2

    Le plugin CFG s’installe sans souci, pareil pour le plugin exlure-secteur, cependant quand on va dans la partie CFG, elle demeure vide, il n’y a pas de lien menant au réglage de ce plugin.

    Si je tape directement l’adresse url pour accéder au réglage de ce dernier, la page est blanche.

    voilà ... pour le test en 1.9.2d

  • Répondre à ce message

    6 août 2009 10:15, par Romain

    Je ne peux que vous remercier chaleureusement ! J’ai en effet mis à jour complètement un de mes sites, qui regroupe des sites pour enfants, et devant la tâche je me décourageai déjà ! Finalement, avec votre plugin, c’était réglé en quelques minutes ! Il fait maintenant partie de ma liste perso et je l’installe maintenant sur tous mes sites ! Bravo :)

  • Répondre à ce message

    31 juillet 2009 19:11, par Maïeul

    je suis un peu surpris par votre commentaire ? avez vous lu la pareti "faire des exceptions" ?

    si oui, cela ne peut-il pas vous aider

    cordialement

  • Répondre à ce message

    27 juillet 2009 15:05, par Eric

    Ce plugin qui répond à beaucoup d’attente dans sa cette forme-ci n’est pas encore pleinement exploitable. J’avais besoin d’exclure des répertoires sur mon site de prêt immobilier mais tout en les faisant apparaître ailleurs dans le squelette... du coup, obligé de coder les boucles avec la contribe : Exclure selon un mot-clé... C’est dommage de devoir utiliser cette astuce qui j’imagine consomme de la ressource... Mais bon, pas le choix.

    Enfin avec des bouts de codes collés bout à bout, on arrive à faire ce que l’on souhaite avec Spip. :)

  • Répondre à ce message

    13 juillet 2009 12:16, par goetsu

    sur la page de config cfg il est indiqué que l’on peut rendre le comportement du critère tout_secteur identique au critère tout mais c’est le critère tout_voir et non tout_secteur

  • Répondre à ce message

    8 juillet 2009 18:30, par Maïeul

    proposez un logo, et je le met ...

  • Répondre à ce message

    8 juillet 2009 18:25, par aris

    Point de détail, mais ce plugin n’a pas de logo et nous avons donc un beau " ?" lorsque l’on va sur la page CFG... cela fait juste pas très "propre"...

  • Répondre à ce message

    18 juin 2009 16:19, par Maïeul

    je viens de faire un commit sur acces_restreint, qui devrait éviter ces ennuis.

    dispos en paquet ce soir à 19h35.

  • Répondre à ce message

    4 juin 2009 16:31, par 1138

    Voici le log de prive_spip.log à l’activation du plugin exclure-secteur :

    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de action activer_plugins
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de sfb0eb010c40e7eda O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de s11ff8837802ff947 O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de s9b762a4a1175f415 O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de s099935263dd35cb8 O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de s0a49f3f3f8e5743a O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de s5b55b449985c24d3 O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de s3e4ce30b4c9997db O
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de redirect ./?exec=admin_plugin
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de hash 1ad5aa6cda4f779120ede8f0a977d190
    Jun 04 16:17:43 127.0.0.1 (pid 3392) test de arg activer
    Jun 04 16:17:43 127.0.0.1 (pid 3392) Changement des plugins actifs par l'auteur 1: acces_restreint_3_0,cfg,crayons,formulaire_upload,exclure_secteur,sele ction_d_articles,spip-bonux
    Jun 04 16:17:44 127.0.0.1 (pid 3392) redirige 302: ./?exec=admin_plugin

    spip.log, lui, n’enregistre plus rien.

    Remarque : j’ai aussi un fichier verifier_plugins.txt qui se crée à 16:17:53.

    a:31:{i:0;s:30:"../plugins/cfg/cfg_options.php";i:1;s:58:"../plugins/acces_restreint_3_0/acces_restreint_options.php";i:2;s:32:"../plugins/cfg/cfg_fonctions.php";i:3;s:34:"../plugins/crayons/tetecrayons.php";i:4;s:55:"../plugins/formulaire_upload/base/formulaire_upload.php";i:5;s:53:"../plugins/exclure_secteur/exclure_sect_fonctions.php";i:6;s:52:"../plugins/spip-bonux/public/spip_bonux_criteres.php";i:7;s:51:"../plugins/spip-bonux/public/spip_bonux_balises.php";i:8;s:46:"../plugins/spip-bonux/spip_bonux_fonctions.php";i:9;s:60:"../plugins/acces_restreint_3_0/acces_restreint_fonctions.php";i:10;s:57:"../plugins/acces_restreint_3_0/public/acces_restreint.php";i:11;s:54:"../plugins/acces_restreint_3_0/inc/acces_restreint.php";i:12;s:34:"../plugins/crayons/tetecrayons.php";i:13;s:48:"../plugins/selection_d_articles/pb_selection.php";i:14;s:60:"../plugins/acces_restreint_3_0/acces_restreint_pipelines.php";i:15;s:31:"../plugins/cfg/cfg_pipeline.php";i:16;s:60:"../plugins/acces_restreint_3_0/acces_restreint_pipelines.php";i:17;s:55:"../plugins/acces_restreint_3_0/base/acces_restreint.php";i:18;s:61:"../plugins/selection_d_articles/base/pb_selection_install.php";i:19;s:55:"../plugins/acces_restreint_3_0/base/acces_restreint.php";i:20;s:55:"../plugins/acces_restreint_3_0/base/acces_restreint.php";i:21;s:31:"../plugins/cfg/cfg_pipeline.php";i:22;s:31:"../plugins/cfg/cfg_pipeline.php";i:23;s:31:"../plugins/cfg/cfg_pipeline.php";i:24;s:31:"../plugins/cfg/cfg_pipeline.php";i:25;s:34:"../plugins/crayons/tetecrayons.php";i:26;s:41:"../plugins/exclure_secteur/exclurepip.php";i:27;s:57:"../plugins/acces_restreint_3_0/public/acces_restreint.php";i:28;s:64:"../plugins/acces_restreint_3_0/inc/acces_restreint_autoriser.php";i:29;s:31:"../plugins/cfg/cfg_pipeline.php";i:30;s:54:"../plugins/acces_restreint_3_0/inc/acces_restreint.php";}

  • Répondre à ce message

    3 juin 2009 17:23, par Maïeul

    c’est fort possible ... il faudrait voir les logs pour plus de détail pour réparer ton pv->supprime exclure-secteur du dossier plugin et vide le cache je n’ai pas le temps de regarder en ce moment, mais bon dans deux semains je pourrais jeter un coup d’oeil.

    Sinon en attendant, pourquoi ne pas créer une zone d’acces-interdit à tous ?

Pages 1 | 2 | 3

Répondre à cet article

Retour en haut de la page

Ça discute par ici

  • Formulaire de participation à un événement

    23 janvier – 17 commentaires

    Cet article tente de rassembler des informations au sujet de l’affichage d’un formulaire de participation aux événements gérés par le plugin Agenda développé par Cédric Morin. La version 2 du plugin Agenda permet d’afficher dans l’espace public des (...)

  • Le Squelette Zpip

    11 novembre 2009 – 119 commentaires

    Zpip [1] est un squelette réutilisable, modulaire et disposant d’une galerie de thèmes. Il est issu d’une fusion des projets Zesty et SPIP-Zen. Installer Zpip Pour installer Zpip et jouer avec sans plus attendre, il suffit de suivre le guide (...)

  • Plugin Pages uniques

    11 décembre 2008 – 74 commentaires

    Allez, avouez... il ne vous est jamais arrivé d’avoir besoin d’articles qui ne sont rattachés à aucun rubriquage particulier ? Des articles uniques, n’ayant ni de thème, ni de rapport avec aucun autre ? Ou encore des articles pour lesquels vous avez (...)

  • Le Couteau Suisse

    4 mai 2007 – 835 commentaires

    Ce plugin propose d’introduire facilement de simples fonctionnalités supplémentaires à SPIP et qui s’avèrent rapidement indispensables ! Par exemple : des filtres supplémentaires, des balises pratiques, des facilités typographiques, le contrôle de (...)

  • Squelette Median

    22 juin 2009 – 77 commentaires

    Un squelette généraliste, valide XHTML, et configurable. Sites de démonstration : en es fr