我有一个清单项目模板如下:
<div class="listing-item">
<div class="photo">{$thumbnail}</div>
<div class="title">{$name}</div>
<div class="price">{$price} {$currency}</div>
<div class="location">{$city}/{$town}</div>
</div>我将从另一个模板文件中包含这个模板,并将它赋值给一个名为listing_item的变量,如下所示:
<div class="listing-box-container clearfix">
{include file="common/product/listing_item.tpl" assign=listing_item}
</div>现在,我有了一个名为listing_item的变量,它包含单个列表项的模板。
我想给listing_item中的变量赋值,例如:
{assign var="$listing_item.thumbnail" value="Sometown"}当我包含模板时,我不是传递值,因为我想多次使用listing_item,所以我不想每次需要它时加载它。
这里的想法是只包含一次模板,并在需要的地方分配值& echo。
那么,如何为已经包含并分配给变量的模板中的变量赋值呢?
或者,什么是最好的做法来归档我的需要在聪明?
如有任何帮助,将不胜感激。
发布于 2015-05-19 22:21:30
如果您使用的是smarty3,您可以使用以下结构:
{$listing_item = [
'thumbnail' => 'some_thumbnail',
'title' => 'some_title',
'price' => 'some_price'
]}关于变量语法的更多信息,这里是http://www.smarty.net/docs/en/language.syntax.variables.tpl。
现在将其传递给模板:
<div class="listing-box-container clearfix">
{include file="common/product/listing_item.tpl" listing_item=$listing_item}
</div>在模板中使用:
<div class="listing-item">
<div class="photo">{$listing_item.thumbnail}</div>
<div class="title">{$listing_item.name}</div>
<div class="price">{$listing_item.price} {$listing_item.currency}</div>
<div class="location">{$listing_item.city}/{$listing_item.town}</div>
</div>https://stackoverflow.com/questions/29895051
复制相似问题