web-dev-qa-db-ja.com

smartyテンプレートファイル内で配列を割り当てる方法

Smartyテンプレートファイル内の変数に配列を割り当てることが可能かどうか疑問に思っていましたか?私はこれを試しました

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

しかし、配列を印刷すると、次のようになります。

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

Smartyが配列値をエスケープするのを止めるにはどうすればよいですか?

前もって感謝します

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

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

FromSmarty v.3新しい構文が利用可能

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

詳細については、以下を参照してください。 http://www.smarty.net/docs/en/language.syntax.variables.tpl

48
Kirzilla

私は別の答えを見つけました ここ{php}タグ (Smartyが推奨)を使用せずにこれを行うことができます

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

しかし、まだ多くのアイデアを受け入れています...

43
Jenski

{$system=['freebsd','windows','macosx','linux']}

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

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