Templates Symfony2/Twig:如何告诉自定义Twig标记不转义输出
我创建了一个自定义标记,其工作原理如下:Templates Symfony2/Twig:如何告诉自定义Twig标记不转义输出,templates,symfony,twig,Templates,Symfony,Twig,我创建了一个自定义标记,其工作原理如下: {{ thumbnail(image.fullPath,620) }} 不幸的是,我不得不这样使用它 {{ thumbnail(image.fullPath,620)|raw }} 有没有办法直接在细枝扩展中取消景观 My extension注册缩略图代码,如下所示: public function getFunctions() { return array( 'thumbnail' => ne
{{ thumbnail(image.fullPath,620) }}
不幸的是,我不得不这样使用它
{{ thumbnail(image.fullPath,620)|raw }}
有没有办法直接在细枝扩展中取消景观
My extension注册缩略图代码,如下所示:
public function getFunctions()
{
return array(
'thumbnail' => new \Twig_Function_Method($this, 'thumbnail'),
);
}
class Twig_Extension_Escaper extends Twig_Extension
{
...
public function getFilters()
{
return array(
new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))),
);
}
...
}
...
function twig_raw_filter($string)
{
return $string;
}
Twig\u Function\u方法的第三个参数::\uu construct()
是函数的一个选项数组。其中一个选项是指定函数是否输出“安全”的HTML/JavaScript代码:
public function getFunctions()
{
return array(
'thumbnail' => new \Twig_Function_Method($this, 'thumbnail', array(
'is_safe' => array('html')
))
);
}
小树枝是这样的:
public function getFunctions()
{
return array(
'thumbnail' => new \Twig_Function_Method($this, 'thumbnail'),
);
}
class Twig_Extension_Escaper extends Twig_Extension
{
...
public function getFilters()
{
return array(
new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))),
);
}
...
}
...
function twig_raw_filter($string)
{
return $string;
}
是正确的,但由于\Twig\u Function\u方法
现在已被弃用,您可以使用\Twig\u SimpleFunction
:
return [
new \Twig_SimpleFunction('thumbnail', [$this, 'thumbnail'], [
'is_safe' => ['html']
]),
];
谢谢你。文件中是否规定了这一点?我找不到它,但也许我找得不够仔细。@Stephenor在Crozin的回答中看到了链接。谢谢,它帮助了我$)你能为这个添加到手册的链接吗?想知道“html”选项可以是什么吗