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 : Gestion des tableaux (array)





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 : Gestion des tableaux (array)

Date de publication: le vendredi 23 novembre 2007 à 13h11
Dernière modification: par Pascal BOYER le jeudi 16 décembre 2010 à 10h51
« Article précédent: eZ Publish : Affichage aléatoire d'un objet
» Article suivant: Séquence avec {foreach}

Déclarer un tableau

{def $tableau=array()}

Ajouter des valeurs au tableau

{def $tableau=array()}                                                       // On crée un tableau vide
{for 0 to 7 as $counter}                                                      // boucle allant de 0 à 7
    {set $tableau=$tableau|append(sum($counter,4))}     // Pour chaque valeur de $counter on ajoute au tableau la somme $counter+4
{/for}

Ajouter des valeurs à un tableau + concat

{def $chemin1=$node.path_with_names
   $chemin=$chemin1|explode( '/' )
   $tableau=array()
   $u=0}
{foreach $chemin as $path}
  {set $tableau=$tableau|append(concat('(',$u,')/',$path,'/'))}
  {set $u=inc($u)}
{/foreach}

Lire ou parcourir le tableau

{def $i=0}
{while lt($i,8)}                                                                 // Tant que $i est inférieur à 8...
    Pour $i={$i}, le tableau vaut: {$tableau[$i]}<br /> // ...on affiche la ième valeur du tableau
    {set $i=inc($i)}                                                           // Ici on incrémente $i de 1
{/while}

...ce qui affichera:

Pour $i=0, le tableau vaut: 4
Pour $i=1, le tableau vaut: 5
Pour $i=2, le tableau vaut: 6
Pour $i=3, le tableau vaut: 7
Pour $i=4, le tableau vaut: 8
Pour $i=5, le tableau vaut: 9
Pour $i=6, le tableau vaut: 10
Pour $i=7, le tableau vaut: 11

Commentaires

  • Problème résolu

    Il s'agissait en fait d'un problème de namespace, désolé pour le spam ! :)

    Correction

    Et bien en fait, malgré ce que dit la doc, il est possible de modifier un tableau avec un "set".
    J'avais essayé le code du premier exemple au sein d'une "section", et cela ne fonctionnait pas, mais hors de la section cela fonctionne. Peut être est-ce dû au fait que section est deprecated.

    Précision

    Le premier exemple d'ajout de valeurs à un tableau ne fonctionne pas sous ezp 4.X
    En effet la fonction set ne permet pas de faire cette opération : http://doc.ez.no/eZ-Publish/Technical-manual/4.x/Templates/The-template-language/Variable-usage