如何解决css和js的与smarty定界符冲突的问题

 我来答
育知同创教育
2017-11-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

可以把 smarty 的定界符设成 <{ }>

[html] view plain copy

  • $tpl->left_delimiter = '<{';  

  • $tpl->right_delimiter = '}>';  


  • 2.可以用smarty的literal处理,可以把JS代码包含在{literal}{/literal}之间就可以了。
  • [html] view plain copy

  • {literal}  

  • $ (  

  • function () { alert ('培训课程')}  

  • );  

  • {/literal}  

凝雪
2017-11-01 · TA获得超过653个赞
知道小有建树答主
回答量:208
采纳率:50%
帮助的人:24.6万
展开全部
当输入url地址后网页出现如下文所描述的问题通常是css和js的{}与smarty定界符冲突导致的,解决方法有两个,具体如下,感兴趣的朋友可以参考下

当输入url地址后网页出现:Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "E:\wamp\www\cms\system/templates/index.html" on line 79 "$("#job").load("./system/templates/touch/test.php",{catid:3});" - Unexpected ":", expected one of: "}" , " "' in E:\wamp\www\cms\system\Smarty\sysplugins\smarty_internal_templatecompilerbase.php on line 441这样的问题,通常是css和js的{}与smarty定界符冲突导致的。

解决办法有两个:

1.可以把 smarty 的定界符设成 <{ }>

复制代码代码如下:

$tpl->left_delimiter = '<{';
$tpl->right_delimiter = '}>';

2.对于js的{}与smarty定界符冲突,可以用smarty的literal处理,可以把JS代码包含在{literal}{/literal}之间就可以了。

复制代码代码如下:

<{literal}>
$ (
<span style="http://r.yuzhua.com"> </span>function () { alert ('商标')}
);
<{/literal}>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式