Как назначить массив в файле шаблона smarty?

Мне было интересно, можно ли присвоить массив переменной в файле шаблона Smarty? Я пробовал это

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

Но когда я распечатываю массив, он производит это:

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

Как я могу остановить Smarty, избегая значений массива?

заранее спасибо

 {php} $this->assign("array", array('dir','doc','exe')); {/php} {foreach from=$array item=item} {$item} {/foreach} 

С Smarty v.3 доступен новый синтаксис

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

подробнее см .: http://www.smarty.net/docs/en/language.syntax.variables.tpl

Я просто нашел здесь другой ответ, который позволяет вам делать это без использования тэгов {php} (рекомендуется Smarty)

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

все еще открыты для большего количества идей, хотя …

как насчет {$system=['freebsd','windows','macosx','linux']} ?

 $smarty->assign("lat",$lat); {foreach $lat as $latlongval} {assign var="myArray" value=","|explode:$latlongval} {$myArray['0']} {$myArray['1']} {/foreach} 

его неправильный способ написать код в файле шаблона smarty. вы должны создать массив в php, а затем получить значения из smarty.

 This is the right way to create a standard development code. like. 

PHP:

 public function arrSam(){ $colors = array( 0 => '#1f1f1f', 1 => '#696969', 2 => '#878787', 3 => '#b4b4b4', 4 => '#d2d2d2', 5 => '#f0f0f0', 6 => '#ffffff'); $smarty->assign('colors', $colors); } 

Smarty:

 {assign var=colors value=$smarty->arrSam()} {$colors|print_r}