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

Le critère compteur permet de compter les éléments d’une table associés à 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.

Un article entier est consacré à la documentation de ce critère : Le critère compteur de Bonux.

Discussion

111 discussions

  • 2
    spipeur_débutant

    Bonjour,

    J’ai mis à jour le plugin SPIP Bonux (11/06/2010) il y a quelques minutes et maintenant, mon site plante régulièrement avec ce message d’erreur :

    Fatal error : Cannot redeclare balise_config() (previously declared in /XXXX/plugins/auto/spip-bonux/configurer/pipelines.php:253) in /XXXX/plugins/auto/cfg/cfg_fonctions.php on line 45

    Que faire ?

    Merci

    • Il faut mettre à jour CFG aussi, il vient d’y avoir une evolution dans bonux qui crééait un conflit entre les deux.

    • spipeur_débutant

      Merci beaucoup.
      J’ai forcé l’actualisation à distance dans les mise à jour via le couteau suisse et effectivement, il y avait une mise à jour pour CFG Rév. 38776 12/06/10. Tout semble correcte.

      Merci Cédric

    Répondre à ce message

  • 1

    Lorsque j’active Spip Bonux, voici le message d’erreur que j’ai :
    Fatal error : Cannot redeclare balise_config() (previously declared in /homez.349/afondlie/www/plugins/spip-bonux/configurer/pipelines.php:253) in /homez.349/afondlie/www/plugins/cfg/cfg_fonctions.php on line 45

    • Il faut mettre à jour CFG aussi, il vient d’y avoir une evolution dans bonux qui crééait un conflit entre les deux.

    Répondre à ce message

  • Bonjour

    Est-il possible d’avoir le compteur du nombre d’articles par auteur, mais uniquement les articles publiés ?

    Merci

    Répondre à ce message

  • Je viens d’essayer la boucle POUR pour la première fois et… je suis aux anges. :)

    Il n’est pas (encore) possible de trier par multiples critères ( « par cle1, cle2 » par exemple ) ou c’est moi qui fait une erreur quelque part  ?

    Répondre à ce message

  • perceval

    Impossible d’activer Spip Bonux sur le serveur distant. Aucun messages. Après activation retour à la page de liste des plugins activés d’où est bien sur absent Spip Bonux.
    Cela fonctionne très bien en local.
    version du serveur : 5.0.51a-3ubuntu5.4-log

    Merci de votre bienveillance.

    Répondre à ce message

  • Fichier absent : public / spip_bonux_criteres.php
    qu’estce que cela veut dire ?
    impossible d’activer ce plugin
    merci pour une réponse

    Répondre à ce message

  • 5

    Bonjour,
    J’installe la version 2.0.10 de SPIP (ou antérieur) qui possède un design (pas trop moche) sur les boutons (notamment), comme le bouton valider (voir document joint).
    Et lorsque j’installe spip Bonux, ça saute et je me retrouve avec des boutons moches (tout court)... (re-voir visuel joint).

    C’est fait exprès ? Quand on lave SPIP avec Bonux, même les « jolis » CSS foutent le camps ?

    Merci pour les précisions ;-)
    Nico

    • oui, c’est fait exprés ;)

      c’est un vieux troll ... ca permet ceci dit d’avoir une interface plus légère en tant de chargement :)

    • @Nico : SPIP-Bonux corrige des défauts d’interface qui la rendent inaccessible dans certaines conditions, comme c’est précisé dans l’article ci-dessus : 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. :-P

    • Bonjour,

      Moi aussi je ne comprends pas , et puis il n y a pas beaucoup d’explication pour « SPIP Bonux » (installation ! par exemple).

    • Amir : parce que le graphisme de l’interface de SPIP 2 rendait celle-ci inutilisable dans certains cas. Par exemple : le fil d’Ariane est illisible en l’absence des images qui l’habillent, idem pour les labels des formulaires, ce qui est complètement bloquant pour éditer un article, etc. SPIP-Bonux corrige cela. Est-ce que cela répond à ta question ?

    • .Gilles

      Attention, la version actuelle de Bonux ne modifie plus l’interface privée. Il faudrait certainement revoir ce aspect de la doc.

    Répondre à ce message

  • 1

    Bonjour,

    Je suis sous SPIP 2.1.0 [15608], j’ai le plugin SPIP Bonux 1.9.2 [37110] installé en mode auto et activé, mais je n’arrive pas à faire fonctionner la balise #TRI.

    En effet j’ai voulu reprendre (comme utilisé dans spip-contrib) pour mon site le code :

    	<p class="pagination tri">
    	[(#TRI{date,<:par_date:>})] |
    	[(#TRI{popularite,<:par_popularite:>})] |
    	[(#TRI{points,<:par_pertinence:>})]
    	</p>

    mais celui n’affiche rien à part : | | les chaines (alors que j’ai bien les chaines de langue ajoutés à mon fichier de langue) (liens) sont vides ??

    j’ai poiitionner le code exactement comme dans celui de spip-contrib, avant la boucles articles qui affiche les résultats de recherche...

    est-ce un bug ou ai-je mal fait quelque chose....

    Merci de m’éclairer.

    • Oups, j’ai en effet oublié de changé les écritures de la boucle articles de recherche, il fallait utilisé : tri points,inverse

      <BOUCLE_articles(ARTICLES)  {tri points,inverse} {recherche} {pagination}>

      au lieu de

      BOUCLE_articles(ARTICLES) {recherche} {!par points} {pagination}>

      Merci pour vos efforts.

    Répondre à ce message

  • Salut Cerdic, salut Mathieu :)

    SPIP 2.1.0-rc SVN [15505]
    Extensions/Plugins : http://i42.tinypic.com/2evvj1g.png

    J’obtiens un étrange lien pour #URL_RUBRIQUE avec les boucles suivantes :
    http://bonux.pastebin.com/La1xU9a2

    J’ai une boucle globale qui va chercher 4 rubriques, pour chaque je regarde un certain mot clef, et je fais une condition sur ce mot clef.

    Avant la boucle CONDITION l’URL_RUBRIQUE est bien formée :
    +++ spip.php ?rubrique24

    Dans la boucle CONDITION en revanche elle change étrangement pour :
    ==> spip.php ?page=rubrique&id_rubrique=24&connect=condition

    Ca ne me pose pas vraiment de problème, je vais me faire des #SET/GET pour récupérer la bonne valeur, mais je ne sais pas si c’est un bug ou quelque chose que j’ai mal fait :)

    Pour info donc ! :)

    Bonne journée.

    PS : je peux vous filer base+fichiers pour reproduire si vous voulez.

    Répondre à ce message

  • 1

    Bonjour,

    Sous SPIP 2.0.10, je veux installer Accès restreint 3.0, mais il nécessite Spip Bonus. Or Spip Bonus me plante SPIP dès que je cherche à valider son installation.
    Que faire ?
    Merci
    A+

    • J’apporte une réponse à ma propre question, car comme bien souvent la clef était dans le fil de discussion.

      Il fallait augmenter les memory_limit des 2 fichiers PHP.ini de MAMP. Je les ai mis à 32Mo. En fait, ils étaient fixés à 8Mo... Au redémarrage de Mamp ça fonctionne.

      Comme quoi on panique vite. J’espère maintenant que chez OVH quand je basculerai le tout je n’aurais pas le même problème. Car là je n’aurai pas la main sur le php.ini.

      Encore merci pour tous ces plugins qui permettent à des utilisateurs comme moi de tirer le meilleur parti de SPIP.

    Répondre à ce message

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