创建Twig自定义功能 - 星级

时间:2014-05-15 08:49:38

标签: php symfony twig symfony-2.4

我想创建简单的星级评分功能。

我想用Twig模板{{ star (9) }}编写,它应该显示图像(或图像)和文本评级(9/10)。

要将变量传递给我在控制器中使用的Twig:

$this->get('twig')->addGlobal('current_url',  $this->currentUrl);

它工作正常。

所以在同一个控制器中我使用代码:

    $function = new \Twig_SimpleFunction('star', function () {
        echo "test";
    });

    $this->get('twig')->addFunction($function);

在Twig模板中我使用:

{{ star }}

显示它。但它根本不起作用(没有错误但也没有结果)。

问题:应如何编写才能使其正常工作?而且 - 这个函数是否可以通过这种方式将一些变量分配给Twig,而简单包含另一个Twig文件,其中将在循环中创建星号?

我是Symfony初学者。我看到了How can I create a symfony twig filter?,但对我而言,目前很复杂 - 如果可能的话,我不想创建新的服务/类等等来创建简单的函数。

1 个答案:

答案 0 :(得分:4)

这是一个功能,所以它应该是

{{ star() }}