web-dev-qa-db-fra.com

Comment assigner un tableau dans un fichier de modèle smarty?

Je me demandais s'il était possible d'assigner un tableau à une variable dans un fichier de modèle Smarty? J'ai essayé ça

{assign var='file' value = array('dir','doc','exe')}

Mais quand j'imprime le tableau, cela produit ceci:

array(\'dir\',\'doc\',\'exe\') 

Comment puis-je empêcher Smarty d'échapper aux valeurs du tableau?

Merci d'avance

36
Jenski
{php}
  $this->assign("array", array('dir','doc','exe'));
{/php}

{foreach from=$array item=item}
  {$item}
{/foreach}

À partir de Smarty v.3, une nouvelle syntaxe est disponible.

{$array = ['item1','item2',$item3]}

voir pour plus de détails: http://www.smarty.net/docs/fr/language.syntax.variables.tpl

46
Kirzilla

Je viens de trouver une autre réponse ici qui vous permet de le faire sans utiliser les balises {php} (recommandé par Smarty)

{assign var='icon' value=','|explode:"dir,doc,exe"}

toujours ouvert à plus d'idées cependant ...

43
Jenski

qu'en est-il de {$system=['freebsd','windows','macosx','linux']}?

8
Mituha Sergey
$smarty->assign("lat",$lat);

{foreach $lat as $latlongval}
    {assign var="myArray" value=","|explode:$latlongval} 
    {$myArray['0']}
    {$myArray['1']}
{/foreach}
0
user2293605