Как присвоиться, массив в присяжном острослове обрабатывают файл по шаблону?

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

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

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

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

Как я могу остановить Присяжного острослова, выходящего из значений массива?

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

38
задан Jenski 11 February 2010 в 12:22
поделиться

2 ответа

{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

48
ответ дан 27 November 2019 в 03:14
поделиться

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

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

все еще открыт для других идей...

43
ответ дан 27 November 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: