29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Langage eZ Publish / eZ Publish : convertir une chaîne de caractères en tableau





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

eZ Publish : convertir une chaîne de caractères en tableau

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('&apos;',$aaaa,'&apos;,')}
{/foreach}
 

...ou plus simplement:

{foreach $ma_variable|explode( ',' ) as $aaaa}
     {$aaaa}
 {/foreach}