Symfony 树枝 - 第三方
Symfony twig - Third party
我目前正在开发一个 symfony 项目,
我有:
app/Resources/views/mytemplate/
文件夹 mytemplate 包含我的网络应用程序的所有重要树枝视图。
我的问题是,第三方成员是否有可能创建自己的模板来覆盖我的 "mytemplate" 而无需创建指向它们的控制器?
喜欢:
我有这个模板:
app/Resources/views/mytemplate/home/index.html.twig
其他人可以在同一视图目录中创建新模板,例如:
app/Resources/views/thirdparty/home/index.html.twig
覆盖我的模板。
有这样的可能性吗?
您好!
嗯,对我来说,你有两种可能性:
您希望能够重新定义的模板是在您的控制器中使用方法 renderView() 或类似方法指定的模板:在这种情况下,可能性是无限的。由您定义逻辑层来确定必须呈现哪个模板。例如,您可以强制用户重新定义模板以使用特定的附加模式命名它,然后解析正确的模板以使用,这要归功于所有控制器中继承的方法。
$content = $this->renderView(
$this->getInheritedTemplate('AcmeHelloBundle:Hello:index.html.twig'),
array('name' => $name)
);
必须重新定义的模板是在另一个twig模板中继承的:在这种情况下,它几乎是一样的。您可以想象编写自己的 Twig filter/function 来检索正确的模板。代码应该和第一种情况很相似。
希望对您有所帮助。
我目前正在开发一个 symfony 项目,
我有:
app/Resources/views/mytemplate/
文件夹 mytemplate 包含我的网络应用程序的所有重要树枝视图。
我的问题是,第三方成员是否有可能创建自己的模板来覆盖我的 "mytemplate" 而无需创建指向它们的控制器?
喜欢:
我有这个模板:
app/Resources/views/mytemplate/home/index.html.twig
其他人可以在同一视图目录中创建新模板,例如:
app/Resources/views/thirdparty/home/index.html.twig
覆盖我的模板。
有这样的可能性吗?
您好!
嗯,对我来说,你有两种可能性:
您希望能够重新定义的模板是在您的控制器中使用方法 renderView() 或类似方法指定的模板:在这种情况下,可能性是无限的。由您定义逻辑层来确定必须呈现哪个模板。例如,您可以强制用户重新定义模板以使用特定的附加模式命名它,然后解析正确的模板以使用,这要归功于所有控制器中继承的方法。
$content = $this->renderView( $this->getInheritedTemplate('AcmeHelloBundle:Hello:index.html.twig'), array('name' => $name) );
必须重新定义的模板是在另一个twig模板中继承的:在这种情况下,它几乎是一样的。您可以想象编写自己的 Twig filter/function 来检索正确的模板。代码应该和第一种情况很相似。
希望对您有所帮助。