smarty-Smarty是否支持可变变量吗

发布于 2016-12-15 01:06:13 字数 149 浏览 1342 评论 5

模板文件里面一个变量名是来自另外一个变量的的值,请问在Smarty里面如何写?
假如:{$lang[menu.$temp]},这想写是不对的,请问在smarty里面如何实现这种可变的变量名(由于是改以前的代码,不方便在php程序进行处理)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

虐人心 2017-07-27 07:13:48

{${$var}} 正确写法

想挽留 2017-06-03 00:10:02

直接在smarty里这样写就ok
{assign var=data value=$cout.data}//这里是在smarty里设置一个变量,其中$cout.data是你在php里的变量

下面就可以直接用这个变量了,比如
{section name=list1 loop=$data[list]}

归属感 2017-02-01 13:04:04

PHP中可变变量类似这种形式:$$value
在Smarty没试过,你可以试试。

清晨说ぺ晚安 2017-01-10 22:04:35

你可以在smarty中注册一个函数,也可以根据$temp来判断显示不同的值。

泛泛之交 2017-01-09 20:10:15

Smarty提供了一个assign可以在smarty里定义变量,所以只要把得到的值赋值给一个变量,然后就可以使用可变变量了。以下是我经过测试后的代码,你拿去调试看看吧。

PHP代码

$country = array("en", "cn");
$lang = array('menu_en'=> 'english', "menu_cn" => "chinese");

$smarty->assign("country", $country);
$smarty->assign("lang", $lang);

smarty代码

<%{foreach name=k item=con from=$country}%>
<%{assign var="key" value="menu_$con"}%>
<%{$lang[$key]}%>
<%{/foreach}%>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文