树枝过滤多个参数

Pet*_*Fox 3 php symfony twig twig-filter

我正在尝试创建一个可以处理2个参数的特定枝条过滤器.

$documentURL = new Twig_SimpleFilter('documentURL', function($DocumentId, $UserId){

    $URL = "http://example.example.com/start/".$DocumentId."/".$UserId."/";

    return $URL;

});
Run Code Online (Sandbox Code Playgroud)

并将过滤器添加到渲染:

$twig->addFilter($documentURL);
Run Code Online (Sandbox Code Playgroud)

现在在模板中请求过滤器:

{{documentURL(booking.docId, user.id)}}
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误,该函数不存在.Quitte strange ...因为它确实存在而且包含在内.和我的其他15个过滤器一样.

Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'The function "documentURL" does not exist in "profile.html" at line 78'
Run Code Online (Sandbox Code Playgroud)

我是否以错误的方式请求过滤器?(可能是...)

NHG*_*NHG 8

您试图像过滤器一样调用过滤器.树枝过滤器和功能之间存在差异.你应该调用过滤器{{ value|filterName(param) }}.所以在你的情况下:

{{ booking.docId|documentURL(user.id)}}
Run Code Online (Sandbox Code Playgroud)