gpt4 book ai didi

symfony - 如何从父包扩展 Twig 模板?

转载 作者:行者123 更新时间:2023-12-01 11:36:53 26 4
gpt4 key购买 nike

我正在学习 symfony2 并且非常喜欢它(从 ZendFramework 1.x 迁移)但我现在被 twig 模板困住了。你能给我指出正确的方向吗?

我的应用程序有很多客户,每个客户都有一些定制(主要是模板,但也有 Controller 等)。

我尝试通过 bundle 继承来实现这一点/我创建了 ClientBundle,它继承自 BaseBundle,包含所有基本代码和模板...它可以按我需要的方式工作 bud模板。当我在 ClientBundle 中创建模板时,它覆盖了 BaseBundle 中的模板,我无法从 ClientBundle 模板访问 中的原始模板基础包。我想扩展父模板,而不是覆盖它...这不可能吗?

谢谢!

最佳答案

使用标准 Symfony extends引用父包模板的符号会导致 fatal error 。 Symfony 将您的模板引用解释为 BaseBundle作为ChildBundle作为包继承导致函数嵌套级别异常的结果。

您可以使用以下表示法直接引用父级的包模板文件:

{% extends "@Client/Foo/bar.html.twig" %}

替代:

{% extends "ClientBundle:Foo:bar.html.twig" %}

Twig 的 FilesystemLoader将引用字符串拆分为 namespace(客户端)和 path (Foo/bar.html.twig)。命名空间是没有 Bundle 后缀的包名称。每个 namespace 的完整路径通过连接默认 <bundle_path>/Resources/views/ 来解析使用提供的路径

关于symfony - 如何从父包扩展 Twig 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26045057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com