Symfony 树枝 - 第三方

Posted

技术标签:

【中文标题】Symfony 树枝 - 第三方【英文标题】:Symfony twig - Third party 【发布时间】:2015-07-26 19:07:38 【问题描述】:

我目前正在做一个 symfony 项目,

我有什么:

app/Resources/views/mytemplate/

文件夹 mytemplate 包含我的网络应用程序的所有重要树枝视图。

我的问题是,第三方成员是否有可能创建自己的模板来覆盖我的“mytemplate”而不创建指向它们的控制器?

喜欢:

我有这个模板:

app/Resources/views/mytemplate/home/index.html.twig

其他人可以在同一视图目录中创建新模板,例如:

app/Resources/views/thirdparty/home/index.html.twig

覆盖我的模板。

有这样的可能性吗?

您好!

【问题讨论】:

【参考方案1】:

嗯,对我来说,你有两种可能:

您希望能够重新定义的模板是在您的控制器中使用 renderView() 或类似方法指定的模板:在这种情况下,可能性是无限的。您可以定义逻辑层来确定必须呈现哪个模板。例如,您可以强制用户重新定义模板以使用特定的附加模式对其进行命名,然后通过在所有控制器中继承的方法解析要使用的正确模板。

$content = $this->renderView(
    $this->getInheritedTemplate('AcmeHelloBundle:Hello:index.html.twig'),
    array('name' => $name)
);

必须重新定义的模板是在另一个树枝模板中继承的:在这​​种情况下,几乎相同。您可以想象编写自己的 Twig 过滤器/函数来检索正确的模板。代码应该和第一种情况很相似。

希望这会有所帮助。

【讨论】:

以上是关于Symfony 树枝 - 第三方的主要内容,如果未能解决你的问题,请参考以下文章

使用无Symfony的树枝[关闭]

树枝扩展中的 Symfony 依赖注入

在树枝视图中访问 Symfony 断言

Symfony - 在 myClass 中渲染树枝文件

使用 Symfony 2 本地化树枝中的日期

Symfony 2 树枝拆分功能未按预期工作