smarty中的串联
Posted
技术标签:
【中文标题】smarty中的串联【英文标题】:Concatenation in smarty 【发布时间】:2012-04-18 20:45:22 【问题描述】:我想把这两个变量拼接得到的值用一个字符串赋值。
assign var="url" value="$WS_PATHaircraft_images/$images[i].image"
请让我知道我们如何在 smarty 中做到这一点。
【问题讨论】:
这能回答你的问题吗? Smarty local variable concatenation with string 【参考方案1】:你已经正确使用了assign
。
一个简化的示例可能如下所示:
你的phpfile.php:
$tpl = new Smarty;
$tpl->assign('var1','Hello');
$tpl->assign('var2','World');
$tpl->display('yourtemplate.tpl');
你的模板.tpl:
...
<body>
assign var="url" value="$var1 - and - $var2"
$url
</body>
...将导致输出:
Hello - and - World
【讨论】:
这确实有效,但它在哪里记录了 O.o ? @jave.web 看看variable examples here in the manual,它们涵盖了大部分用例。 好吧,几乎没有显示 用于解决歧义并在 var/index 命名中连接,没有这种情况... x)【参考方案2】:其中一个应该可以工作:
assign var="url" value=$WS_PATH|cat:"aircraft_images/"|cat:$images[i].image
或者
assign var="url" value="`$WS_PATH`aircraft_images/`$images[i].image`"
我不确定 $images[i].image 是否会被正确解析,您可能必须先将其 assign 到另一个变量
【讨论】:
第二个更容易阅读和工作(第一个没有) 我认为你不需要多次调用 cat ,简单的 $var|cat:'str1':'str2':....... 对我有用 :)【参考方案3】:这样的表达式就可以了:
$product1_photo = "$smarty.const.IMG_URL/$pInfo.PhotoName"
【讨论】:
以上是关于smarty中的串联的主要内容,如果未能解决你的问题,请参考以下文章
php页面中的包含文件用相对路径(require_once("./smarty/smarty.class.php"))出错了怎么解决