Prestashop,在.tpl中,如何在<脚本内容
Prestashop, in .tpl, how to use smarty variable in <script content?
我希望在javascript中使用一个智能变量,但我并非无法做到这一点><'
我的当前代码,但生成错误=>
<script type="text/javascript">
var title = document.title;
var height1 = {$mysmartyvariable1};
var height2 = {$mysmartyvariable2};
if (title == 'index')
{ var height = height1; }
else { var height = height2; };
$(document).on("scroll",function(){
if($(document).scrollTop()>height){
$("#nav").removeClass("navfull").addClass("navsmall");
} else{
$("#nav").removeClass("navsmall").addClass("navfull");
}
});
</script>
那么,我如何在这个脚本部分添加mymartyvariable1呢?
#感谢Allan Nienhuis,正确的代码是:
<script type="text/javascript">
var title = document.title;
var height1 = {$mysmartyvariable1};
var height2 = {$mysmartyvariable2};
{literal}
if (title == 'index')
{ var height = height1; }
else { var height = height2; };
$(document).on("scroll",function(){
if($(document).scrollTop()>height){
$("#nav").removeClass("navfull").addClass("navsmall");
} else{
$("#nav").removeClass("navsmall").addClass("navfull");
}
});
{/literal}
</script>
我看到您的代码有两个问题。
1) 您没有在$mymartyvariable2周围放{}个括号。这将为height2分配"undefined",因为smarty根本不会处理此变量,并且未定义名为$mymartyvariable2的javascript变量。
2) 在嵌入使用{}个字符的javascript时,您需要使用{literal}{/literial}标记,这样smarty就不会试图将javascript{}个字符解释为smarty语法。
http://www.smarty.net/docsv2/en/language.function.literal
在这种情况下,您可以在height2声明/赋值之后启动{literal}标记,因为前面的行应该由smarty解释,但后面的行不应该由smart解释。
var height2 = {$mysmartyvariable2};
{literal}
if (title == 'index')
{ //code here
}
// other code
{/literal}
</script>
相关文章:
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 使用<ahref>使用谷歌脚本在谷歌表单GUI中标记
- W3验证器->使用<脚本类型=“;text/javascript”>在html的正文中
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- </脚本>标签放错地方了
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- "未捕获类型错误/丢弃意外“;因为一句台词而出现?(HTML w/<脚本>)
- <脚本类型=“;模块“>负载性能
- 在<script src=“"></脚本>标签
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 等效于<script src=“;something1.json”></脚本>
- 如何将脚本添加到<头部>标记
- 我如何访问传递给<脚本>标记
- 运行一个特定<脚本>(Dreamweaver)
- 是否在Script Src标记中包含Script<脚本>(JavaScript等)
- VS代码:在<脚本>标签
- 在javascript中运行php脚本<脚本>php文件中
- 要制作的脚本<a>标签不可使用JavaScript点击
- 脚本& lt; path>SVG中的数据(读取和修改)