2010-11-21 18 views
0

テンプレートが別のテンプレートに含まれるたびに異なる変数を使用するための戦略は何ですか?Smarty - 同じテンプレートの異なるコンテンツ

ここが私の言いたいことです。 私は簡単なナビゲーションリストを作成するスマートなテンプレートを持っています。

<ul class='linkList'> 

    <li> 

    <h3>{$title}</h3> 

    <ul> 
     {foreach $links as $d} 
     <li><a title='{$d...}' href='{$d....}'>{$d.text}</a></li> 
     {/foreach} 
    </ul> 

    </li> 

</ul> 

メインテンプレートに何度も含める必要があり、毎回異なる値を渡したいと思います。私はこれを行うためにどのような戦略を使うべきかわからない。

私は

$smarty->assign('links',array(.....); 
$smarty->assign('title','My first link list'); 

$smarty->assign('links',array(different values); 
$smarty->assign('title','My second link list'); 

このように私のPHPファイルに変数を割り当て、その後、私はちょうど値の第2のロットで二回同じリストを取得します二度のテンプレートが含まれている場合。

答えて

1

{include}タグを使用すると、通話中の変数を渡すことができます:

{include 'linklist.tpl' title="Sample Links 1" links=$link_array1} 
{include 'linklist.tpl' title="Sample Links 2" links=$link_array2} 

そうでなければ、私はあなたがテンプレートを含む前{assign}または割り当ての短い形式({$var=value})のいずれかを使用することができますかなり確信しています。

関連する問題