2009-11-22 29 views
4

嗨,我想在smarty做串聯。這裏是我想如何使用代碼的一個例子。 PHP的分配Smarty連鎖

$smarty->assign('myvar',array(1,5,6,4)); 
$smarty->assign('myvar2',array('a1'=>1,'a2'=>2,'a3'=>3,'a4'=>4)); 

而且模板頁面

{foreach from=$myvar item=v} 
    {if $v == $myvar2.a+$v} 
    match 
    {else} 
    no match  
    {/if} 
{/foreach} 

這應該寫出「匹配」兩次,「不匹配」兩times.But而不是寫匹配的四倍,這使得沒有意義的我。

感謝

回答

7

內插的關鍵在使用它之前:

{foreach from=$myvar item=v} 
{assign var="idx" value="a"|cat:$v} 
{if $v == $myvar2.$idx} 
    match 
{else} 
    no match 
{/if} 
{/foreach} 
+0

謝謝,工作 – andrew 2009-11-22 07:07:58

0

我想問題可能的辦法。您應該將您的邏輯包含在PHP代碼中,而不是模板中。