Bonjour,
J’avais pour habitude sous SPIP 1.9.2 d’utiliser le filtre sort pour trier par ordre alphabétique un tableau créé avec les balises #SET et #ARRAY :
#SET{critere,#ARRAY}
… boucle pour remplir le tableau …
[(#GET{critere}|sort)]
Mais sous SPIP 2.0, le message d’erreur suivant s’affiche :
Fatal error: Only variables can be passed by reference in /local/web/FdelaSc/ecrire/public/composer.php(73) : eval()'d code on line 275
Avez-vous une idée du problème ? Merci.
Suite à mon message du 16 juin, j’ai trouvé une solution satisfaisante pour trier les tableaux SPIP en utilisant un filtre (nommé tri_alpha) dont voici le code dans mes_fonctions.php (j’ai utilisé la fonction PHP natcasesort() pour un tri dans l’ordre « naturel », comme suggéré sur PHP Facile) :
function tri_alpha($array, $val){
natcasesort($array);
return $array;
}
Le filtre s’utilise ensuite de la façon suivante dans un squelette :
#SET{critere,#ARRAY}
… boucle pour remplir le tableau …
[(#SET{critere,#GET{critere}|tri_alpha{#ARRAY}})]
Jean-Baptiste Pressac a écrit :