如果我创建了一项服务,是否可以从 twig 访问它,而无需创建 twig.extension?
问问题
35332 次
2 回答
121
您可以将服务设置为 twig 全局变量config.yml
,例如
#app/config/config.yml
twig:
globals:
your_service: "@your_service"
在您的template.html.twig
文件中,您可以通过以下方式调用您的服务:
{{ your_service.someMethod(twig_variable) }}
见这里。
于 2012-11-06T07:01:18.083 回答
0
要在 Symfony 5 中完成这项工作,首先您必须在 services.yaml 中声明服务,例如:
应用\服务\导航助手: 论据: 富:酒吧
然后,您可以声明该服务以在 Twig 中使用。为此,您必须将其作为变量添加到位于 packages/twig.yaml 中的 Yaml 文件的“全局”部分:
globals:
navHelper: '@App\Service\NavigationHelper'
现在您可以使用模板中的服务方法,正如 Mun Mun Das 在他上一个代码片段中所建议的那样。
于 2021-06-04T08:44:21.917 回答