【发布时间】:2012-11-06 02:52:22
【问题描述】:
如果我创建了一项服务,有没有办法从 twig 访问它,而无需创建 twig.extension?
【问题讨论】:
如果我创建了一项服务,有没有办法从 twig 访问它,而无需创建 twig.extension?
【问题讨论】:
您可以在config.yml 中为服务设置一个树枝全局变量,例如
#app/config/config.yml
twig:
globals:
your_service: "@your_service"
在您的template.html.twig 文件中,您可以通过这种方式调用您的服务:
{{ your_service.someMethod(twig_variable) }}
见here。
【讨论】:
要在 Symfony 5 中完成这项工作,首先您必须在 services.yaml 中声明服务,例如:
应用\服务\导航助手: 论据: 富:酒吧然后您可以声明该服务以在 Twig 中使用。为此,您必须将其作为变量添加到位于 packages/twig.yaml 中的 Yaml 文件的“全局”部分:
globals:
navHelper: '@App\Service\NavigationHelper'
现在您可以按照 Mun Mun Das 在他的上一个代码 sn-p 中建议的那样使用模板中的服务方法。
【讨论】: