我正在尝试创建一个可以处理2个参数的特定树枝过滤器。
$documentURL = new Twig_SimpleFilter('documentURL', function($DocumentId, $UserId){
$URL = "http://example.example.com/start/".$DocumentId."/".$UserId."/";
return $URL;
});
并将过滤器添加到渲染:
$twig->addFilter($documentURL);
现在在模板中请求过滤器:
{{documentURL(booking.docId, user.id)}}
但是,我收到一个错误,该函数不存在。 Quitte strange ...因为它确实存在而且包含在内。和我的其他15个过滤器一样。
Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'The function "documentURL" does not exist in "profile.html" at line 78'
我是否以错误的方式请求过滤器? (可能是的......)
答案 0 :(得分:7)
您试图像过滤器一样调用过滤器。树枝过滤器和功能之间存在差异。您应该像{{ value|filterName(param) }}
一样调用过滤器。所以在你的情况下:
{{ booking.docId|documentURL(user.id)}}