tri des tableaux

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 :