首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Smarty将值赋值给包含的模板中的变量

问Smarty将值赋值给包含的模板中的变量
EN

Stack Overflow用户
提问于 2015-04-27 11:56:36
回答 1查看 2.3K关注 0票数 1

我有一个清单项目模板如下:

代码语言:javascript
复制
<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的变量,如下所示:

代码语言:javascript
复制
<div class="listing-box-container clearfix">
    {include file="common/product/listing_item.tpl" assign=listing_item}
</div>

现在,我有了一个名为listing_item的变量,它包含单个列表项的模板。

我想给listing_item中的变量赋值,例如:

代码语言:javascript
复制
{assign var="$listing_item.thumbnail" value="Sometown"}

当我包含模板时,我不是传递值,因为我想多次使用listing_item,所以我不想每次需要它时加载它。

这里的想法是只包含一次模板,并在需要的地方分配值& echo。

那么,如何为已经包含并分配给变量的模板中的变量赋值呢?

或者,什么是最好的做法来归档我的需要在聪明?

如有任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2015-05-19 22:21:30

如果您使用的是smarty3,您可以使用以下结构:

代码语言:javascript
复制
{$listing_item = [
    'thumbnail' => 'some_thumbnail',
    'title' => 'some_title',
    'price' => 'some_price'
]}

关于变量语法的更多信息,这里是http://www.smarty.net/docs/en/language.syntax.variables.tpl。

现在将其传递给模板:

代码语言:javascript
复制
<div class="listing-box-container clearfix">
    {include file="common/product/listing_item.tpl" listing_item=$listing_item}
</div>

在模板中使用:

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29895051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档