0

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

我想用 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 初学者。我看到了如何创建 symfony 树枝过滤器?但对我来说,目前它很复杂——如果可能的话,我不想创建新的服务/类等等来创建简单的功能。

4

1 回答 1

4

这是一个函数,所以它应该是

{{ star() }}
于 2014-05-15T08:51:26.833 回答