SPIP Bonux

Le plugin qui lave plus SPIP que SPIP, avec des chouettes cadeaux dedans ! Interface douce, boucles POUR et CONDITION, tableaux, compteur, etc.

Parce que nous n’avons pas pu tout mettre dans SPIP 2.0 (la boîte était trop petite), voici un plugin qui intègre des trucs en plus ! C’est cadeau !

Rq : certaines fonctionnalités de SPIP Bonux ne sont pas documentées ici, mais dans la doc sur Bonux pour SPIP 3.

C’est doux, c’est neuf ?

De l’avis des amateurs de SPIP-Bonux, cette distribution améliore le confort d’usage des formulaires de saisie de l’espace privé, dont les couleurs tiennent mieux dans la durée. Il s’agit a priori d’une simple variante de style : celle-ci propose une nouvelle palette de couleurs, plus douces pour les yeux et propices à la concentration sur votre travail éditorial. Mais surtout, — là est le vrai cadeau Bonux —, ces formulaires restent accessibles, même lorsque l’affichage des images est désactivé dans le navigateur ou lorsque le trop faible débit de votre connexion ne permet pas de les afficher, situation bien plus courante qu’on ne croit. SPIP-Bonux vous permet donc d’accueillir des collaborateurs autrement laissés pour compte.

Une boucle (POUR)

Une boucle (POUR) qui permet de boucler sur tous les tableaux PHP, qu’ils soient en #ENV, en #GET, ou autres...

<BOUCLE_test(POUR){tableau #ENV{tableau}}>
#CLE=>#VALEUR<br />
</BOUCLE_test>

cle et valeur peuvent être utilisés dans les critères, ainsi que de nombreux critères des boucles traditionnelles de spip (pagination par exemple)

Ces tableaux peuvent être déjà présent dans #ENV car fournis en argument d’un inclure, ou en contexte d’un formulaire CVT, ou issus de tout filtre retournant un array() PHP : (#ENV{qqc}|mon_filtre), ou toute balise retournant un array() comme #ARRAY ...

De nombreux exemples sont disponibles dans le répertoire demo/ du plugin.

Il est possible dans cette boucle de trier les résultats {par cle} ou {par valeur}, mais aussi, si les résultats sont eux-mêmes des tableaux (ou des objets), de trier sur une de leurs clés. Par exemple si #ARRAY est un tableau d’objets ayant un champ date, le tri {par date} fonctionne «naturellement».

Une boucle (CONDITION)

<BOUCLE_test(CONDITION){si #ENV{test}|>{5}}>
vrai
</BOUCLE_test>
faux
<//B_test>

Des balises pour manipuler les tableaux

SPIP permet deja d’initialiser un tableau avec

#SET{tableau,#ARRAY{1,premier,2,deuxieme,3,troisieme}}

ou avec

#SET{tableau,#LISTE{janvier,février,mars}}

Spip-Bonux ajoute la balise #SET_MERGE qui permet de fusionner et affecter une variable en meme temps :

#SET_MERGE{nom_tableau,#GET{tableau},#ARRAY{cle,valeur}}

et la balise #SET_PUSH, pour y ajouter un element :

#SET_PUSH{tableau,valeur}

Un critère compteur

Inspiré de Classer les articles par nombre de commentaires, le critère compteur permet de compter les elements d’une table associées à ceux d’une autre.

Exemple, pour afficher les auteurs avec leur nombre d’articles :

<BOUCLE1(AUTEURS){compteur articles}{par compteur_articles}>
#ID_AUTEUR : #COMPTEUR{articles}
</BOUCLE1>

La balise #COMPTEUR est associée au critere et permet d’afficher la valeur du compteur pour chaque auteur.

SPIP Bonux (2.3.6)

Discussion

111 discussions

  • SPIP-Bonux est-il compatible SPIP 3.0 ?

    Reply to this message

  • Salut les écureuils =^.^=
    Est-il possible de placer plusieurs conditions dans la même boucle CONDITION ?
    Un AND est toujours facile à faire, il suffit de faire des conditions en cascade. Mais qu’en est-il d’un OR logique ?
    Mojo

    Reply to this message

  • Bonjour, j’ai du mettre à jour spip bonux sur mon site. Le problème c’est que depuis spip bonux me donne des pages blanches ou incomplètes (j’ai testé squelettes et tous le autres plugin, dès que je désactive spip bonux tout re fonction normalement).

    Voici l’erreur que j’ai en admin : Erreur dans les plugins : plugins/auto/spip-bonux/spip_bonux_options.php, plugins/auto/spip-bonux/public/spip_bonux_criteres.php, plugins/auto/spip-bonux/public/spip_bonux_balises.php, plugins/auto/spip-bonux/spip_bonux_fonctions.php, plugins/auto/spip-bonux/configurer/pipelines.php

    Avez-vous une idée ?

    Reply to this message

  • 5

    Bonjour,

    Sous SPIP 2.0.15 [17661] avec Bonux 2.2.21 [47641] et CFG 1.16.0 [47187]

    J’active le plugin “Notifications”, puis j’accède à la page ?exec=cfg&cfg=notifications
    Je modifie des réglages, en cochant des cases, puis je valide, le message “config info enregistrée” apparait, mais aucune info n’est enregistrée et les cases réapparaissent décochées.

    Si je désactive Bonux, alors l’enregistrement des modifications fonctionne. Une idée pour corriger ce souci ?

    Merci

    • Personne ne rencontre ce souci ??

    • laurent

      meme symptômes avec spip 2.0.13 sur la cfg d’autres plugins (crayons...) :(

    • Idem de mon côté ... en 2.1.10

    • marcimat

      Je suppose que ce sont des formulaires qui utilisent des «casier» de CFG, et avec bonux (qui implémente aussi un système de configuration), la définition des casiers est différente. Mais en regardant http://zone.spip.org/trac/spip-zone/browser/_plugins_/notifications/formulaires/configurer_notifications.html (le formulaire de configuration de notations), il n’y a pas de trace de casier. Donc... je ne sais pas.

      Je vois par contre des erreurs de syntaxe SPIP là (et ailleurs) [checked="(#ENV{messagerie}?{checked})"] : il manque un | avant le ? .

      C’est peut être pour ça (dans le cas de notifications) que le formulaire reste décoché.

      ...

      En relisant, je pense que c’est <!-- nom=crayons --> que Bonux n’interprete pas non plus. Il doit falloir lui dire aussi, pour cela, il faut envoyer un input hidden dans le formulaire de config. Bonux admet 3 noms : _meta_table, _meta_casier et _meta_prefixe.

      Je pense que c’est (dans le plugin X/formulaires/configurer_X.html, quelque part entre <form> et </form>) :
      <input type="hidden" name="_meta_casier" value="crayons" />
      qu’il faut mettre ; la même valeur que le de CFG.

      Vous testez ?

    • Ben non, après plusieurs tests, je ne parviens pas à le faire fonctionner.
      Ni avec l’input “hidden”, ni même en ajoutant <!-- nom=xxxx -->

      Je suis obligé de désactiver bonux pour faire min réglage, et de le réactiver ensuite ...

    Reply to this message

  • Bonsoir,

    Avec Spip v2.1.10 j’ai ce message d’erreur qui s’affiche sur la home et à la lecture des articles :

    Fatal error: Cannot redeclare balise_config() (previously declared in /home/users//plugins/spip-bonux/configurer/pipelines.php:297) in /home/users/plugins/cfg/cfg_fonctions.php on line 28

    Une idée ?

    Cordialement

    Reply to this message

  • 1
    Patrick

    Bonjour,
    Je teste la version SPIP3 en local, et j’utilise quelques plugins qui nécessitent Bonux or celui ci ne s’active pas et par là, je ne peux pas vérifier la compatibilité des plugins dépendants.
    Comptez vous mettre Bonux à niveau, ou attendez vous une version plus élaborée de Spip3?
    Merci

    Reply to this message

  • 1

    Bonjour,

    J’ai créé une boucle POUR à partir d’une liste de valeurs obtenue avec #GET. J’y ai ajouté le critère (par hasard) et (0,1) afin d’obtenir un seul élément obtenu au hasard dans cette liste de valeurs.

    Mais cela ne fonctionne pas.

    • [Résolu]
      Bien, j’ai finalement trouvé une alternative avec

      #SET{variable,#EVAL{rand(0,#GET{truc})}

      Je n’ai donc pas eu besoin de la boucle POUR

    Reply to this message

  • AAstudio

    Quelle serait la syntaxe pour passer deux conditions dans une boucle condition ?

    Merci,
    A.

    Reply to this message

  • 2
    AAstudio

    Bonjour,

    Que fonts les critères noeud et feuille ?

    Merci,
    AA

    Reply to this message

  • 4

    Hi,
    i’m using SPIP 2.0.9 [14357] (an upgrade from 1.9.2 around 2 years ago). I’ve installed spip-bonux 2.2.19 [46927], but when i try to activate it i get this error:

    Impossible d’activer le plugin auto/spip-bonux
    * Nécessite SPIP en version [2.0.0;2.1.0-beta) minimum.

    i guess it’s probably some environment variable, that’s why i said about the upgrade from 1.9.2 version. Thanks in advance. C

    • Hello,
      Same issue: I worked spip 2.0.9 + Bonux 2.2.18 (46739) for a while without any issue.
      I juste upgraded in 2.2.20 (47566) and had the same error message:
      Impossible d’activer le plugin auto/spip-bonux
      Nécessite SPIP en version [2.0.0;2.1.0-beta) minimum.

      Please help!!

    • Version 2.2.21 of the plugin should be ok again with SPIP 2.0.x ! (zip coming in the next hour)

    • Merci pour la réactivité!

    • Installation de la 2.2.21 (47641) fonctionne.
      Merci encore.
      Eric

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom