Bonux pour SPIP3

Un grand nombre des fonctionnalités apportées par SPIP Bonux ont été intégrées dans SPIP3, mais il en reste quelques unes qui ne l’ont pas été, et qui constituent le nouveau plugin Bonux pour SPIP3.

Cet article a pour but de lister les balises, critères et fonctions définies dans SPIP Bonux, afin qu’on ne les oublie pas, mais la documentation de ces éléments ne figure pas ici (voir pour cela les autres articles de documentation de Spip Bonux, ou le code source).

Rq : Pour éviter les conflits, certaines de ces fonctionnalités ne sont définies par Bonux que si elles ne sont pas déjà définies par ailleurs.

Balises et critères de boucles

Balises

#SET_PUSH Empile un élément dans un tableau déclaré par #SET{tableau,#ARRAY}
#SET_MERGE
#COMPTEUR
#SOMME
#COMPTE
#MOYENNE
#MINIMUM
#MAXIMUM
#STATS

Les balises #COMPTEUR, #COMPTE, #SOMME, #MOYENNE, #MINIMUM, #MAXIMUM, #STATS requièrent l’usage d’un critère qui spécifie le champ sur lequel porte le calcul de la balise.

Contrairement au critère {compteur table}, ces critères ne calculent pas de jointures.

Exemples d’usage :

-  #SET_PUSH :
#SET_PUSH{tableau,valeur}

Critères statistiques

{compteur}
{compteur_left}
{somme}
{compte}
{moyenne}
{minimum}
{maximum}
{stats}

Exemples d’usage

-  Supposons qu’un champ ’distance’ ait été ajouté aux objets ARTICLE.
La boucle suivante calcule la somme des distances des articles de la rubrique 1 :

<BOUCLE_a(ARTICLES){id_rubrique=1}{somme distance}></BOUCLE_a>
#SOMME{distance}
</B_a>

-  Dans le plugin ’abonnement’ le fichier ’abonnements_stats’ donne plusieurs exemples d’utilisation de ces critères.

Par exemple :

<BOUCLE_nombre(AUTEURS_ELARGIS_ABONNEMENTS){id_abonnement}{statut_paiement=ok}{somme montant}{compte montant}{fusion id_abonnement}>
    <td>#COMPTE{montant}</td>
    <td>[(#SOMME{montant}|number_format{2, ',', ' '}|replace{' ','&nbsp;'})]</td>
</BOUCLE_nombre>

Autre critère

{fusion_supprimer} : ce critère supprime de la requête sql la condition GROUP BY qui y est présente à cette étape de la compilation. Ce peut être utile pour s’affranchir d’un GROUP BY ajouté par défaut par le compilateur SPIP lors d’une jointure et qui interfère. Il est ensuite possible d’y ajouter le critère d’une fusion désirée (cf #3209)

Dans la boucle suivante il est nécessaire d’ajouter {fusion_supprimer} pour obtenir la fusion sur les dates, car le compilateur ajoute ajoute automatiquement un GOUP BY id_article pour la jointure de la table ARTICLES avec la table MOTS :

<BOUCLE_facette_annee(ARTICLES){id_mot=27}{fusion_supprimer}{fusion YEAR(date)}>
    [(#DATE|annee)]<br />
</BOUCLE_facette_annee>

Fonctions php

Bonux définit aussi tout un ensemble de fonctions qui peuvent servir comme filtre, ou pour d’autres plugins.

/** Récupérer les champs date_$suffixe et heure_$suffixe dans l'environnement, 
vérifier leur cohérence et les reformater */
function verifier_corriger_date_saisie($suffixe,$horaire,&$erreurs);
 
/** Renvoie le charset d'une ligne à importer */
function importer_csv_importcharset($texte);
 
/** Enlève les accents des clés sinon ca pose des problemes ... */
function importer_csv_nettoie_key($key);
 
/** Lit un fichier csv et retourne un tableau 
si $head est true, la premiere ligne est utilisee en header pour générer un tableau associatif*/
function inc_importer_csv_dist($file, $head = false, $delim = ",", $enclos = '"', $len = 10000) ;
 
/** Exporter un champ pour un export CSV */
function exporter_csv_champ($champ) ;
 
/** Exporter une ligne complète au format CSV, avec délimiteur spécifié */
function exporter_csv_ligne($ligne, $delim = ',', $importer_charset = null) ;
 
/** exporter au format CSV. $ressource est un array ou une ressource sql ouverte en lecture */
function inc_exporter_csv_dist($titre, $resource, $delim=',', $entetes = null,$envoyer = true);
 
/** generer une balise img a partir d'un nom de fichier */
function tag_img($img,$alt="",$class="");
 
/** générer une clé temporaire valable 12h pour l'url courante */
function previsu_cle_temporaire($date=null);
 
/** vérifier qu'une clé temporaire valable 12h est bien valable */
function previsu_verifier_cle_temporaire($cle);
 
function _T_ou_typo($valeur, $mode_typo='toujours') ;
 
function spip_array_insert($arr1, $cle, $arr2, $avant=false);
 
function array_replace_recursive($array, $array1);
 
function recurse($array, $array1);
 
/** Coupe une chaine à la longueur demandée, sans abîmer les tags HTML , et avec options : texte de fin si coupé, coupe à la longueur exacte ou en respectant les mots... */
function text_truncate($text, $length = 100, $options = array()) 
 
/** retourner un tableau constitué de toutes les valeurs d'une colonne d'un tableau bi-dimensionnel (avec éventuellement les valeurs d'une autre colonne comme index) */
function array_column($input = null, $columnKey = null, $indexKey = null);

filtre text_truncate
function text_truncate($text, $length = 100, $options = array());
Le tableau d’options peut contenir plusieurs couples clé-valeur :
-  ’ending’ => la chaine ajoutée à la fin du texte s’il est coupé. Typiquement, c’est ’...’ ou ’lire la suite’.
-  ’exact’ => un booléen indiquant si la coupe se fait à la longueur indiquée exacte, même si c’est au milieu d’un mot, ou si la coupe se fait juste avant ce dernier mot.
-  ’html’ => un booléen indiquant si le texte contient des tags HTML qu’il faut veiller à ne pas couper incorrectement.

fonction array_column

Charge la fonction array_column de PHP 5.5 pour les versions inférieures.

Lire le détail sur : Array_column pour SPIP

Renommés

-  le filtre |aoustrong a disparu : il est devenu |lien_ou_expose et a été intégré dans SPIP.

Relecture temporaire

Le plugin active la “Relecture temporaire” qui ajoute un bouton dans la barre d’administration dans la partie publique..
Ce bouton fournit que une adresse temporaire pour partager la relecture de l’article sans à avoir à se connecter à SPIP. Cette adresse n’est valable que quelques heures.

Voir aussi la contante _PREVIEW_TOKEN gérée par le noyau de SPIP.

updated on 6 April 2020

Discussion

6 discussions

  • 14

    Suite à une de mes demandes sur le forum, on m’a conseillé de venir expliquer mon souci ici :

    Je souhaite utiliser le text_truncate de Bonux sur mon site, or celui-ci rajoute des balises et mets a mal ma css.

    Si j’utilise la coupe de texte proposé par Spip :

    <p>[(#TEXTE|couper{95, ' (...)'})]</p>

    J’obtiens ceci dans mon code source et tout va bien :

    <div class="col-6 col-6-medium col-12-small">
    	<article class="box post">
    		<a href="je-debute-l-improvisation" class="image fit"><img src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592582484" class="spip_logo" alt="" width="840" height="243"></a>
    		<h3>L’improvisation</h3>
    		<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
    		<p>Cet ouvrage fait partie de la collection «&nbsp;Je débute…&nbsp;» des Éditions Hit Diffusion. Cette (...)</p>
    		<ul class="actions special">
    			<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
    		</ul>
    	</article>
    </div>

    En revanche la même chose avec Bonux :

    <p>[(#TEXTE|text_truncate{95, #ARRAY{ending,' (...)'}})]</p>

    J’obtiens ceci :

    <strong>								
    	<div class="col-6 col-6-medium col-12-small">
    		<article class="box post">
    			<a href="je-debute-l-improvisation" class="image fit"><img src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592582484" class="spip_logo" alt="" width="840" height="243"></a>
    			<h3>L’improvisation</h3>
    			<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
    			<p></p><p>Cet ouvrage fait partie de la collection «<small class="fine">&nbsp;</small>Je débute…<smal (...)<="" p="">
    			</smal></p><ul class="actions special">
    				<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
    			</ul>
    		</article>
    	</div>
    </strong>

    Mes div sont entouré d’un Strong, un code bizarre <smal (...)<="" p="">

    Merci de m’aider !

    Et je suis sous Spip 3.3.0Dev

    Bien à vous

    • Glop,
      Je t’avais aussi demandé de nous donner le texte d’origine non coupé :)
      Soit le html, soit le texte spip brut.

    • Ok,
      Tu veux dire, tout le code complet de mon squelette ?

    • Voici le code complet de la rubrique, à la ligne 53 et commenté le code que j’utilise pour truncate :

      <BOUCLE_principale(RUBRIQUES) {id_rubrique}>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      [(#REM) Cf.: http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
      ]<!--[if lt IE 7 ]> <html dir="#LANG_DIR" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" class="[(#LANG_DIR)][ (#LANG)] no-js ie ie6"> <![endif]-->
      <!--[if IE 7 ]> <html dir="#LANG_DIR" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" class="[(#LANG_DIR)][ (#LANG)] no-js ie ie7"> <![endif]-->
      <!--[if IE 8 ]> <html dir="#LANG_DIR" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" class="[(#LANG_DIR)][ (#LANG)] no-js ie ie8"> <![endif]-->
      <!--[if IE 9 ]> <html dir="#LANG_DIR" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" class="[(#LANG_DIR)][ (#LANG)] no-js ie ie9"> <![endif]-->
      <!--[if (gt IE 9)|!(IE)]><!--> <html dir="#LANG_DIR" lang="#LANG" xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" class="[(#LANG_DIR)][ (#LANG)] no-js"> <!--<![endif]-->
      <head>
      	<script type='text/javascript'>/*<![CDATA[*/(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);/*]]>*/</script>
      	<title>[(#TITRE|couper{80}|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
      	[<meta name="description" content="(#INTRODUCTION{150}|attribut_html)" />]
      	[<link rel="canonical" href="(#URL_RUBRIQUE|url_absolue)" />]
      	<INCLURE{fond=inclure/head} />
      	[(#REM) Lien vers le flux RSS des articles la rubrique ]
      	<link rel="alternate" type="application/rss+xml" title="<:syndiquer_rubrique:>" href="[(#URL_PAGE{backend}|parametre_url{id_rubrique,#ID_RUBRIQUE})]" />
      	#INSERT_HEAD
      </head>
       
      <body class="is-preload">
       
      			<!-- Header -->
      			<header id="header">
      				<h1><a href="#URL_SITE_SPIP">[(#NOM_SITE_SPIP)]</a></h1>
      					<INCLURE{fond=inclure/nav} />
      			</header>
       
      			<!-- Main -->
      			<section id="main" class="wrapper style1">
      				<header class="major">
      					<h2>[(#TITRE)]</h2>
      					[(#TEXTE)]
      				</header>
       
      				<div class="container">
      					<div class="row gtr-150">
      						<div class="col-9 col-12-medium">
      							<!-- Content -->
      							<section id="content">
      								<p class="image fit">[(#LOGO_RUBRIQUE)]</p>&emsp;
      							</section>
       
      							<!-- <hr> -->
       
      							<div class="row">
      								<BOUCLE_article(ARTICLES){id_rubrique}{!par date}>
      									<div class="col-6 col-6-medium col-12-small">
      										<article class="box post">
      											<a href="#URL_ARTICLE" class="image fit">[(#LOGO_ARTICLE_RUBRIQUE||image_recadre{840,243, 'centre centre'})]</a>
      											<h3>[(#TITRE)]</h3>
      											[<h5>(#SOUSTITRE|sinon{<br />})</h5>]
      											<p>[(#TEXTE|couper{95, ' (...)'})]</p>
      											<!-- <p>[(#TEXTE|text_truncate{95, #ARRAY{ending,' (...)'}})]</p> -->
      											<ul class="actions special">
      												<li><a href="[(#URL_ARTICLE)]" class="button">En lire plus</a></li>
      											</ul>
      										</article>
      									</div>
      								</BOUCLE_article>
      							</div>
      						</div>
       
      							<!-- Sidebar -->
      							<INCLURE{fond=inclure/sidebar} />
      					</div>
      				</div> <!-- Fin container -->
      			</section>
       
      		<!-- Footer -->
       
      		<INCLURE{fond=inclure/footer} />
       
      </body>
      </html>
      </BOUCLE_principale>
    • Non pas le squelette, le code HTML compilé.
      Depuis ton navigateur → afficher le code source, et copier le passage concerné.

      Le but c’est qu’on puisse comparer le avant/après, pour l’instant on a juste le « après ».

    • Irf !!!! J’ai compris ;-)
      Je prépare ça, merci

    • Alors, voici la version qui est ok :

      <div class="col-6 col-6-medium col-12-small">
      	<article class="box post">
      		<a href="je-debute-l-improvisation" class="image fit"><img
      src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592582484" class='spip_logo' width='840' height='243'
      alt="" /></a>
      		<h3>L&#8217;improvisation</h3>
      		<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
      		<p>Cet ouvrage fait partie de la collection « Je débute… » des Éditions Hit Diffusion. Cette (...)</p>
      		<ul class="actions special">
      			<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
      		</ul>
      	</article>
      </div>

      Et la mauvaise avec truncate :

      <div class="col-6 col-6-medium col-12-small">
      	<article class="box post">
      		<a href="je-debute-l-improvisation" class="image fit"><img
      src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592582484" class='spip_logo' width='840' height='243'
      alt="" /></a>
      		<h3>L&#8217;improvisation</h3>
      		<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
      		<p><p>Cet ouvrage fait partie de la collection «<small class="fine"> </small>Je débute…<smal (...)</p>
      		<ul class="actions special">
      			<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
      		</ul>
      	</article>
      </div>

      C’est bon pour vous ?
      Merci

    • La mauvaise version avec Truncate

      <div class="col-6 col-6-medium col-12-small">
      	<article class="box post">
      		<a href="je-debute-l-improvisation" class="image fit"><img
      src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592582484" class='spip_logo' width='840' height='243'
      alt="" /></a>
      		<h3>L&#8217;improvisation</h3>
      		<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
      		<p><p>Cet ouvrage fait partie de la collection «<small class="fine"> </small>Je débute…<smal (...)</p>
      		<ul class="actions special">
      			<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
      		</ul>
      	</article>
      </div>

      La bonne, version couper avec Spip :

      <div class="col-6 col-6-medium col-12-small">
      	<article class="box post">
      		<a href="je-debute-l-improvisation" class="image fit"><img
      src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592582484" class='spip_logo' width='840' height='243'
      alt="" /></a>
      		<h3>L&#8217;improvisation</h3>
      		<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
      		<p>Cet ouvrage fait partie de la collection « Je débute… » des Éditions Hit Diffusion. Cette (...)</p>
      		<ul class="actions special">
      			<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
      		</ul>
      	</article>
      </div>
    • Ça y est presque, mais pas encore :)
      Il faut la version sans aucun filtre, uniquement la balise #TEXTE sans |couper ni rien d’autre. Le filtre |couper retire toutes les balises html donc ça fausse complètement le résultat.

      Le but est de connaître le contenu exact que reçoit la fonction texte_truncate en entrée.

      Question subsidiaire : je vois qu’il y a un <span class="caps">, est-ce que tu as le plugin orthotypographie d’activé ? Si oui essaye en le désactivant pour voir si ça a un rapport.

    • Ca ne change rien avec le plug Ortho-Typographie

      Voici, si j’ais bien compris :

      <div class="col-6 col-6-medium col-12-small">
      										<article class="box post">
      											<a href="je-debute-l-improvisation" class="image fit"><img
      	src="local/cache-gd2/28/bc2500b78ed6bb1188392d146bf2ce.jpg?1592837729" class='spip_logo' width='840' height='243'
      	alt="" /></a>
      											<h3>L&#8217;improvisation</h3>
      											<h5>A. <span class="caps">ROGGE</span> et N. <span class="caps">ESPINASSE</span></h5>
      											<p><p>Cet ouvrage fait partie de la collection «<small class="fine"> </small>Je débute…<small class="fine"> </small>» des Éditions <strong>Hit Diffusion</strong>. Cette méthode progressive comblera tout guitariste désireux de découvrir les bases de l’improvisation, qu’il soit <strong>débutant</strong> ou musicien souhaitant «<small class="fine"> </small><i>passer un cap</i><small class="fine"> </small>»..</p>
      <p>Tous les détails ci-dessous.</p>
      <figure class='spip_document_4 spip_documents spip_document_image spip_documents_center'  style='width:275px;'>
       
       
      		<img src='IMG/jpg/je-debute-l_improvosation.jpg' width="275" height="390" alt='Je d&#233;bute&#8230; L&#039;improvisation' title='Je d&#233;bute&#8230; L&#039;improvisation' />
       
      <figcaption class='spip_doc_legende'>
      	<div class='spip_doc_titre '><strong>Je débute… L&#8217;improvisation
      </strong></div>
       
       
      </figcaption>
       
      </figure><section>
       
       
      	<div class="table-wrapper">
      		<table class="alt">
      			<tbody>
      				<tr>
      					<td><strong>Mes travaux</strong></td>
      					<td><p><strong>Gravure musical</strong></p></td>
      				</tr>
      				<tr>
      					<td><strong>Titre complet</strong></td>
      					<td><p><span class="smallcaps"><strong>je débute… l&#8217;improvisation</strong></span> guitares acoustiques/électriques</p></td>
      				</tr>
      				<tr>
      					<td><strong>Description</strong></td>
      					<td><p>La présentation est avant tout ludique, <strong>axée sur le jeu</strong>, avec leçons, questions-réponses, fiches pratiques&hellip;</p>
      <p>On y retrouve de véritables morceaux connus, avec des play-back sur lesquels le guitariste pourra imaginer et jouer ses propres solos.</p>
      <p>Quel que soit l’instrument et le niveau, ce livre aborde toutes les notions permettant de se constituer des bases solides : <i>accords</i>, <i>gammes</i>, <i>modes</i> etc. Si les relevés sont adaptés aux guitaristes, les notions présentées sont <strong>valables pour tous les instruments</strong>.</p>
      <p>En résumé, l’ouvrage idéal pour se lancer de manière facile dans le monde de l’improvisation, et pouvoir par exemple jouer en groupe ou être armé pour créer des compositions personnelles.</p></td>
      				</tr>
      				<tr>
      					<td><strong>Auteur(s)</strong></td>
      					<td><p><strong>Astrid Rogge</strong> et <strong>Nicolas Espinasse</strong></p></td>
      				</tr>
      				<tr>
      					<td><strong>Nb. de pages</strong></td>
      					<td><p>103 pages + <span class="caps">CD</span> inclus</p></td>
      				</tr>
      				<tr>
      					<td><strong>Lien d'achat</strong></td>
      					<td><p>Lien direct sur la <a href="https://www.bellecourmusiques.fr/" class='spip_out' rel='external'>boutique</a></p></td>
      				</tr>
      			</tbody>
      		</table>
      	</div>
       
      </section></p>
       
      											<ul class="actions special">
      												<li><a href="je-debute-l-improvisation" class="button">En lire plus</a></li>
      											</ul>
      										</article>
      									</div>
    • Top, merci.
      Un dernier truc qui pourrait aider pour déboguer, ça serait d’avoir également le texte brut Spip (le texte de l’article en mode édition, avec les raccourcis typo et cie).

    • D’accord, voici le bloc #TEXTE.
      Il y a un modèle made in moi : <travauxXXX|center> qui est un tableau.
      Et sinon :

      Cet ouvrage fait partie de la collection « Je débute… » des Éditions {{Hit Diffusion}}. Cette méthode progressive comblera tout guitariste désireux de découvrir les bases de l’improvisation, qu’il soit {{débutant}} ou musicien souhaitant « {passer un cap} »..
       
      Tous les détails ci-dessous.
       
      <doc4|center>
       
      <travaux8|center
        |travaux={{Gravure musical}} 
        |titre=<sc>{{je débute… l'improvisation}}</sc> guitares acoustiques/électriques
        |description=La présentation est avant tout ludique, {{axée sur le jeu}}, avec leçons, questions-réponses, fiches pratiques...
       
      On y retrouve de véritables morceaux connus, avec des play-back sur lesquels le guitariste pourra imaginer et jouer ses propres solos.
       
      Quel que soit l’instrument et le niveau, ce livre aborde toutes les notions permettant de se constituer des bases solides : {accords}, {gammes}, {modes} etc. Si les relevés sont adaptés aux guitaristes, les notions présentées sont {{valables pour tous les instruments}}.
       
      En résumé, l’ouvrage idéal pour se lancer de manière facile dans le monde de l’improvisation, et pouvoir par exemple jouer en groupe ou être armé pour créer des compositions personnelles.
        |auteur={{Astrid Rogge}} et {{Nicolas Espinasse}}
        |pages=103 pages + CD inclus
        |url=Lien direct sur la [boutique->https://www.bellecourmusiques.fr/]
      >
    • Ok, merci pour les infos, j’ai pu reproduire chez moi.

      En fait la réponse était toute bête : par défaut ça coupe le texte sans se soucier des balises html, donc quand il y en a ça les laisse ouvertes... Pas glop.
      Du coup pour du texte de contenus éditoriaux il faut toujours passer le paramètre « html » à true :

      [(#TEXTE|text_truncate{90, #ARRAY{html,oui}})]

      Ceci dit je me demande pourquoi ça n’est pas sa valeur par défaut, ça me paraît problématique. Je vais voir avec les autres pour faire évoluer ça.

    • Roooo merci !!!!

      Ca marche bien :-)
      Pour reprendre ton terme : glop glop !!

      Exemple ici

      Merci beaucoup d’avoir pris le temps…

    • Merci beaucoup :-)

      Et comme tu dis c’est Glop glop :-)

      Ca marche très bien super

    Reply to this message

  • Et je suis sous Spip 3.3.0Dev

    Reply to this message

  • 2

    Bonjour,

    Depuis une mise à jour très récente du plugin (3.5.0), certaines pages de mes sites plantent complètement, chrome me dit ca :

    This page isn’t working www.blabla.com is currently unable to handle this request.
    HTTP ERROR 500

    En activant le débogage, j’ai ca :

    Fatal error: Uncaught Error: Call to undefined function spip_version() in /htdocs/plugins/auto/spip_bonux/v3.5.0/spip_bonux_options.php:91

    J’ai réussi à corriger le soucis en remplaçant une ligne (91) dans spip_bonux_options.php

    if (spip_version_compare($GLOBALS['spip_version_branche'], '3.2', '>=')) {
    au lieu de
    if (spip_version_compare(spip_version(), '3.2', '>=')) {

    J’ai mis un hotfix sur mes sites, mais bon, une nouvelle version de Spip Bonux serait la bienvenue ;)

    Merci infiniment pour ce super plugin!

    JuL

    Reply to this message

  • 1
    Haricophile

    Il y a une raison connue pour que ça m’affiche une page blanche pour tout le site ?

    • Non, et ça n’est pas le résultat attendu :-)
      Regarde les logs SPIP et les logs PHP : peut être y trouveras tu des expications.

    Reply to this message

  • J’ai ajouté la doc du critère {fusion_supprimer}

    Reply to this message

  • 1

    Je n’arrive pas à trouver l’archive complète du plugin ??... Sur la Zone de téléchargement, je ne peux télécharger que la version 94288 ??...

    • Tu ne donnes pas les infos qui permettraient de t’aider.
      -  Quelle est la version de ton SPIP ?
      -  Qu’est ce qui ne te convient pas avec la version 94288 ?
      -  Que veux tu au juste ?

    Reply to this message

Ajouter un commentaire

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