【发布时间】:2017-04-01 15:26:36
【问题描述】:
我有一个名为 VendorDeliveryBundle 的第三方捆绑包。
我想在我的 App twig 模板之一中覆盖我使用此语法调用的其中一个 twig 模板:{% include '@VendorDelivery/Frontend/Booking/_delivery.html.twig' with { 'form': form } only %}
像这样工作,供应商模板被调用。
但是,如果我想通过在 AppKernel 中注册覆盖包(如 https://symfony.com/doc/2.8/bundles/inheritance.html 中所述)并创建:
App/DeliveryBundle/Resources/views/Frontend/Booking/_delivery.html.twig
此模板不会覆盖供应商模板。
但如果我改用这种语法
{% include 'VendorDeliveryBundle:Frontend:Booking/_delivery.html.twig' with { 'form': form } only %}
模板被覆盖。
@ 语法似乎没有按预期工作。
所以考虑到这个 symfony 文档https://symfony.com/doc/2.8/bundles/inheritance.html,我想知道这是一个错误还是正常行为:
仅当您使用 @FOSUserBundle/Resources/config/routing/security.xml 方法引用资源时,资源的覆盖才有效。如果您在不使用@BundleName 快捷方式的情况下引用资源,则无法以这种方式覆盖它们。
谢谢,
【问题讨论】:
标签: symfony