我想创建简单的星级评分功能。
我想用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?,但对我而言,目前很复杂 - 如果可能的话,我不想创建新的服务/类等等来创建简单的函数。
答案 0 :(得分:4)
这是一个功能,所以它应该是
{{ star() }}