4

我正在尝试创建一个可以处理 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)}}

但是,我收到该函数不存在的错误。很奇怪......因为它确实存在并且被包括在内。就像我的其他 15 个过滤器一样。

Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'The function "documentURL" does not exist in "profile.html" at line 78'

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

4

1 回答 1

12

您试图将过滤器称为函数。树枝过滤器和功能之间存在差异。您应该调用过滤器,如{{ value|filterName(param) }}. 所以在你的情况下:

{{ booking.docId|documentURL(user.id)}}
于 2014-02-25T19:00:21.227 回答