2013-05-30 47 views
0

我需要将JavaScript对象注入Swig模板中的HTML脚本标记。覆盖单个标记的默认Swig模板过滤器

<script> 
    var myObj = {{myObj|json_encode}}; 
</script> 

json_encode部分工作正常,但随后在默认HTML过滤踢,我得到这个在我的输出:

<script> 
    var myObj = {&quot;socketIOServerAddress&quot;:&quot;http://localhost:8989/&quot;} 
</script> 

如何禁用这一个标签的缺省过滤器?

回答

0

那么,这比预期容易。出于某种原因,我能够chain another filter, raw, which disables the built-in filtering。有点反直觉,但它的工作原理。

<script> 
    var myObj = {{myObj|json_encode|raw}}; 
</script> 
+0

但你并不需要那个! json_encode是你自己的过滤器吗? 只需确认,您声明过滤功能为“安全”,并且您不需要原始的... 我的过滤器名为“attr”并使用函数“attrString”: var attrString = function(); attrString.safe = true; _swig.setFilter('attr',attrString); – sebilasse