Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 告诉smarty按原样打印块_Php_Javascript_Smarty - Fatal编程技术网

Php 告诉smarty按原样打印块

Php 告诉smarty按原样打印块,php,javascript,smarty,Php,Javascript,Smarty,我需要将一些javascript代码内联到Smarty模板文件中,而这些{ldelim}{rdelim}东西正在折磨我。有没有办法告诉smarty忽略块的标记并按原样输出?类似于xml中的CDATA块 以防万一:下面是javascript现在看起来有多简单: $(function() {ldelim} $( "#slides" ).accessNews({ldelim} speed : "{$speed}", slideBy :

我需要将一些javascript代码内联到Smarty模板文件中,而这些{ldelim}{rdelim}东西正在折磨我。有没有办法告诉smarty忽略块的标记并按原样输出?类似于xml中的CDATA块

以防万一:下面是javascript现在看起来有多简单:

$(function() {ldelim}
        $( "#slides" ).accessNews({ldelim}
            speed :  "{$speed}",
            slideBy : 1
        {rdelim});    
{rdelim});

令人毛骨悚然的呵呵?

关于您的更新:您可以使用
{literal}。。。。在此处插入内容{/literal}
以关闭整个块的Smarty变量解析

旧答案:正是出于这个原因,我想将默认分隔符字符更改为其他字符。(据我所知,这只能在整个项目中完成,所以你必须看看它是否适合你。)

比如说

<( $variablename )>

更新:您可以使用
{literal}。。。。在此处插入内容{/literal}
以关闭整个块的Smarty变量解析

旧答案:正是出于这个原因,我想将默认分隔符字符更改为其他字符。(据我所知,这只能在整个项目中完成,所以你必须看看它是否适合你。)

比如说

<( $variablename )>

在这种情况下,使用{literal}标记很有用,但正如Pekka所说的,每次插入变量时关闭和开始标记都非常烦人。 您可以更改Smarty的分隔符,但是如果您已经有很多模板,那么这就不太好了


Smarty团队在Smarty 3中解决了此问题。不再有{literal}标记,模板工作正常。也许您可以尝试更新它。

在这种情况下,使用{literal}标记很有用,但正如Pekka所说,每次插入变量时关闭和开始标记都非常烦人。 您可以更改Smarty的分隔符,但是如果您已经有很多模板,那么这就不太好了


Smarty团队在Smarty 3中解决了此问题。不再有{literal}标记,模板工作正常。也许你可以尝试更新它。

比{literal}{/literal}混乱要好得多。不幸的是,它不适合我的情况,因为我已经有很多旧模板文件要处理。@Juriy我明白了。嗯,除了使用{literal}排除JS块之外,我看不到解决这个问题的方法。你说的{literal}是什么意思,看起来正是我需要的。如果我用{literal}{/literal}包围js块,那么我就不需要在?@Juriy内部使用{rdelim}etc;缺点是,如果要在内部使用模板变量,必须执行
{/literal}{$varname}{literal}
。。。如果您不需要模板变量,那么literal就可以了。它比{literal}{/literal}混乱要好得多。不幸的是,它不适合我的情况,因为我已经有很多旧模板文件要处理。@Juriy我明白了。嗯,除了使用{literal}排除JS块之外,我看不到解决这个问题的方法。你说的{literal}是什么意思,看起来正是我需要的。如果我用{literal}{/literal}包围js块,那么我就不需要在?@Juriy内部使用{rdelim}etc;缺点是,如果要在内部使用模板变量,必须执行
{/literal}{$varname}{literal}
。。。如果你不需要模板变量,文字就可以了。谢谢你的提示,我一定会试试的!谢谢你的提示,我一定会试试的!