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.
Discussions par date d’activité
111 discussions
Bonjour,
je voulais savoir si vous pouvez m’aider a resoudre un probleme parce-que j’ai installer spip bonux et quand je vais sur mon site j’ai une erreur :
Fatal error : Cannot redeclare picker_selected() (previously declared in /mnt/169/sdb/f/9/onepiecestreaming/plugins/spip-bonux/spip_bonux_fonctions.php:76) in /mnt/169/sdb/f/9/onepiecestreaming/prive/formulaires/selecteur/generique_fonctions.php on line 86
Merci d’avance
Répondre à ce message
Hello. Dans un cas d’utilisation de SPIP avec des tables externes, j’utilise une fonction très pratique de Bonux : « picker_selected ».
Elle me permet par exemple, pour un objet éditorial donné (ici organisme), de lister les rubriques auxquelles il est reliées :
Ceci dit, je n’arrive pas à faire la réciproque ! A savoir, pour une rubrique donnée, connaître les organismes qui y sont reliés.
j’ai essayé ceci sans grande conviction :
Mais bien sûr cela ne marche pas... Le champs extra thesaurus dossier de l’objet Organisme se présente ainsi :
« rubrique|1,rubrique|2 ».
Une idée ?
Mais bon, il faut bien comprendre que ce sélecteur de champs extras n’est pas fait pour ce genre de requête. Pour faire des liaisons multiples avec quelque chose et permettre des critères, il faut passer par une table de liaison spip_objet_liens dans la mesure du possible (et donc ici spip_organismes_liens).
Merci Matthieu. Effectivement une table de liaison aurait été très pratique ! Malheureusement j’ai dû composer avec des tables externes et une autre logique de structuration.
Répondre à ce message
Bonjour, je n’arrive pas à trouver comment accéder à la gestion du plugin Bonux avec SPIP 3. Avec les précédentes versions de SPIP, je savais faire mais là, je ne dois pas être bien réveillé ou j’ai loupé quelque chose ?
Répondre à ce message
Bonjour,
dans le cadre d’un formulaire « formidable », l’export csv ne fonctionne pas, impossible de télécharger le fichier.
La discussion suivante fournit une solution :
http://contrib.spip.net/Formidable-le-generateur-de-formulaires#forum456385
En commentant la ligne 90 du fichier plugins/spip-bonux/inc/exporter_csv.php , cela fonctionne.
Cette ligne est-elle nécessaire ? Et sinon, est-il possible de modifier le plugin ?
Merci,
Sylvain
Répondre à ce message
Bonjour,
Je tente de rendre conditionnelle une récursion (menu arborescent de rubriques).
Quand la condition est vraie, j’ai une page blanche.
<BOUCLE_DeepMenu(CONDITION){si 1}><BOUCLE_SsSousMenuhaut(BOUCLE_SousMenuHaut)></BOUCLE_SsSousMenuhaut></BOUCLE_DeepMenu>
Si la condition est fausse : la page s’affiche normalement :
Je suis tombé sur un bug ou une impossibilité ?
En attendant, j’ai contourné avec du PHP :
<?php if (true) { ?><BOUCLE_SsSousMenuhaut(BOUCLE_SousMenuHaut) /><?php } ?>
Et la récursion se passe très bien.
J’ai réussi à la faire sans PHP, mais avec une requête (RUBRIQUES) et le plugin Itérateurs.
http://zone.spip.org/trac/spip-zone/changeset/64320
À noter : j’ai essayé sans succès (page blanche) de faire avec :
(DATA){liste 1}
(ENUM){0,1}
Répondre à ce message
Question d’un non spécialiste : lorsque j’active SPIP Bonux sous spip 2.0.10, nécessaire pour le fonctionnement d’autres plugins, mon site affiche une belle page toute blanche. Plusieurs essais d’activation/désactivation me le confirment. Pourtant, il ne semble pas indispensable d’installer d’autres plugins en amont de Bonux.
Merci de votre aide, je reprécise, à un non spécialiste.
Laurent.
Répondre à ce message
bonjour,
j’utilise spip 2.1.12 et bonux 2.3.0.
J’ai une boucle condition dans laquelle je met une balise #TEXTE, et aucune image du #TEXTE n’apparait sur le site dans la partie publique.
elles apparaissent bien dans la partie privée, et si je met la balise #TEXTE juste avant la boucle CONDITION, les images apparaissent également.
Dans le code source, rien n’est interprété (pas de balise img).
Une idée d’où ça pourrait venir ?
un exemple : http://pass-pro.org/EIFFAGE-L-HARMONIE-DES-TALENTS
une image est insérée au début du texte. Je la vois dans la partie privée, mais elle n’est pas sur la partie publique.
Répondre à ce message
Bonjour,
SPIP 2.1.10, j’ai beaucoup de plugins d’installer.
Dans plusieurs pages de l’espace privé je reçois le message suivant :
Aucun squelette Array.html n’est disponible... ../plugins/auto/spip-bonux/style_prive_plugins.htm
Des idées d’où peut provenir l’erreur ?
Merci
Zaa
Aucun squelette Array.html n’est disponible... ../plugins/spip-bonux/style_prive_plugins.html
J’ai aussi le même problème ??
Répondre à ce message
A quand la compatibilité avec SPIP 3 ?? =)
SPIP 3 intègre la plupart des fonctions de bonux (boucle pour, critères etc.)
et les autres sont dans spip-bonux 3 http://zone.spip.org/trac/spip-zone/browser/_plugins_/spip-bonux-3
Ok merci. Je vais voir ça =)
Je demandais ça car parfois des plugins réclamment spip-bonux pour fonctionner.
de telles plugins, si les fonctions de bonux nécéssaires sont portés dans SPIP 3, devrait changer leurs fichiers pour ne réclamer bonux que pour spip 2.1 et pas sous SPIP 3.
Cela se fait petit à petit.
Répondre à ce message
Pour documentation : SPIP Bonux intègre une version améliorée de
#PAGINATION
qui affiche un lien « Tout afficher », permettant à l’utilisateur d’afficher tous les éléments de la liste sur une seule page. Pour utiliser ce modèle (situé dans /modeles/pagination_prive.html) :#PAGINATION{prive}
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 :
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 : |