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

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

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

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

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

  1. #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)

updated on 17 March 2019

Discussion

110 discussions

  • 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

      1. #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

  • 1
    dimooz

    J’ai le même problème que cinti.

    Je viens d’installer SPIP 2.0.10 [14698] et impossible d’activer le plugin Spip-Bonux.
    Message d’erreur :
    «Impossible d’activer le plugin auto/spip-bonux
    * Nécessite SPIP en version [2.0.0;2.1.0-beta) minimum.»

    Ma version de Spip est elle incompatible avec ce plugin ? Merci d’avance pour le retour.

    • hey, i finally solve the problem upgrading to version 2.1.10, but I’ll soon migrate to wordpress, spip has many bugs as any big program has, but in this case spip community. Every time a have problem with spip i must solve the problem by my own, losing a lot of time and risking my work due to that, it doesn’t worth...

    Reply to this message

Comment on this article

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