PHP模板smarty的模板变量只能使用一次是为什么?

时间:2022-10-28 19:11:25
var _a='<a title="{$Title}" onclick="parent.ResultControlForm._themeClick({$tid},{$X},{$Y});" style="{$Style}">{$Title}</a>
<a id="info" target="_blank"></a>'

现在javascript中这样一段代码后面那个<a>标签中如果我加一个变量
比如变成<a id="info" target="_blank">{$tid}</a>
那么出来的结果<a>标签中的内容就是"{$tid}"而不是这个变量中的数值..
一定要把前面那个onclick="parent.ResultControlForm._themeClick({$tid},{$X},{$Y}"删掉,后面那个<a>标签就正常显示这个变量的数值了..

{$Title}也是这样

这是为什么?谁能指点一下谢谢了..

表达的可能不是很清楚.不知道各位看得懂我什么意思伐..

7 个解决方案

#1


顶下,

#2


如果没有被删除或覆盖可以一直用到页面结束都没问题的,你仔细检查检查程序。

#3


学习一下

#4


js里用{}有冲突,因为可能被判定为对象或函数,  把模板的{}重新定义为 <!--{这里写内容}-->


所有模板变量都写成<!--{$title}-->型式

#5


是不是给覆盖了?一般不会出这种问题的

#6


感觉也是js影响了解析

#7


估计被覆盖了,也有可能js里面{}和smarty的冲突.

#1


顶下,

#2


如果没有被删除或覆盖可以一直用到页面结束都没问题的,你仔细检查检查程序。

#3


学习一下

#4


js里用{}有冲突,因为可能被判定为对象或函数,  把模板的{}重新定义为 <!--{这里写内容}-->


所有模板变量都写成<!--{$title}-->型式

#5


是不是给覆盖了?一般不会出这种问题的

#6


感觉也是js影响了解析

#7


估计被覆盖了,也有可能js里面{}和smarty的冲突.