我需要将一些JavaScript代码内联到Smarty模板文件中,而这些{ldelim} {rdelim}东西使我丧命。有没有办法告诉smarty忽略块的标记并按原样输出它?类似于xml中的CDATA块吗?
以防万一:这是现在的javascript简单外观:
$(function() {ldelim}
$( "#slides" ).accessNews({ldelim}
speed : "{$speed}",
slideBy : 1
{rdelim});
{rdelim});
令人毛骨悚然吧?
最佳答案
重新更新:您可以使用{literal} .... insert content here {/literal}
关闭整个块的Smarty变量解析。
旧答案:由于这个确切的原因,我想将默认的定界符更改为其他字符。 (据我所知,尽管这只能在整个项目中完成,所以您必须查看它是否适合您。)
例如
<( $variablename )>
(只是我个人的最爱,请使用适合您的任何方式)
要更改的变量是
rightDelimiter
和leftDelimiter
属性。 Documentation$smarty = new Smarty();
$smarty->left_delimiter = '<(';
$smarty->right_delimiter = ')>';