Date de publication: le vendredi 24 octobre 2008 à 17h23
Dernière modification: par Pascal BOYER le vendredi 24 octobre 2008 à 18h37
« Article précédent: eZ Publish : faire un fetch conditionnel
» Article suivant: eZ Publish : les fonctions de visualisation
Si le contenu d'une variable est de type « chaîne de caractères» ( string), voici le code permettant de l'exploiter comme si c'était un tableau ( array):
$ma_varaible|explode( ',' )
Illustration
Supposons que $ma_variable contienne une liste d'identifiant de classes.
Pour exploiter cette variable dans une fonction fetch , il faut écrire:
{def $node_list=fetch( content, tree, hash( parent_node_id, $parent_node, limit, $limit, class_filter_type, include, class_filter_array, $show_classidentifiers|explode( ',' ), <= CETTE LIGNE sort_by, array( $sort_by, false() ) ) )}
...alors que dans la plupart des cas, le code rencontré est:
{def $node_list=fetch( content, tree, hash( parent_node_id, $parent_node, limit, $limit, class_filter_type, include, class_filter_array, array('folde', 'article'), <= CETTE LIGNE sort_by, array( $sort_by, false() ) ) )}
Le besoin de transformer une « chaîne de caractères» ( string) en tableau ( array) se rencontre par exemple lors de la création d'un outil (voir l'article eZ Publish : le système de toolbar ) faisant usage d'une variable de type $show_classesidentiers (voir la section [Tool_calendar_description] du fichier settings/ toolbar.ini).
Afficher le contenu de la variable
Pour afficher le contenu de la variable, employer ce code:
{foreach $ma_variable|explode( ',' ) as $aaaa} {concat(''',$aaaa,'',')} {/foreach}
...ou plus simplement:
{foreach $ma_variable|explode( ',' ) as $aaaa} {$aaaa} {/foreach}














