簡體   English   中英

如何在智能模板文件中分配數組?

[英]How to assign an array within a smarty template file?

我想知道是否可以將數組分配給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}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM