使用smarty时,当运行该php页面时报如下错误:
Fatal error: Uncaught exception'SmartyCompilerException' with message 'Syntax Error in template".\temp\gy.html" on line 10 "table{background:blue;}" - Unexpected":", expected one of: "}" , " " , ATTR' inD:\wamp\www\smarty3\libs\sysplugins\smarty_internal_templatecompilerbase.phpon line 665
这往往是smarty的定界符和css/js的{}导致的
下面有如下两种方法可以解决,有兴趣的朋友可以参考参考,如有其他更好方法也请指教指教!!!
解决:
1:修改smarty默认定界符,如改成{> ,
对应的php页面需要配置smarty的左右定界符:
$smarty->left_delimiter = '{>';
$smarty->right_delimiter = '
html页面需要做如下修改,如:
[html] view plain copy
{>$title
{>$content
2:可以用{literal}{/literal}标签,来告诉smarty,此处照常输出,不用解析
此时,css和js只需加上{literal}{/literal}就行,其他不用修改,如:
[css] view plain copy
{literal}div{background:blue;}{/literal}
[html] view plain copy
{$title}
{$content}
这样页面就可以正常显示了!!!