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