我的Symfony框架中有2个应用程序:后端和前端。
是否可以拥有两个应用程序正在使用的模板?
如果是这样,放置这些模板的最佳位置是什么?
答案 0 :(得分:3)
我过去唯一能够克服这个问题的方法就是为共享部分创建一个插件。
IE:在名为
的插件下创建一个文件夹TemplatesPlugin
在其中,创建一个modules文件夹,在其中创建一个常规的模块文件夹结构。
模板路径示例:
sf_root/plugins/TemplatesPlugin/modules/book/pageSuccess.php
sf_root/plugins/TemplatesPlugin/modules/book/_title.php
确保在config / ProjectConfiguration.class.php中启用了插件(如果你使用的是enableAllPlugins,那么它将是,否则你需要将它添加到应该已经存在的插件数组中。)
然后,您可以像访问任何其他模板一样访问这些模板,例如:
include_partial('book/title', array('title'=>'hello'));
虽然这感觉有点黑客,但效果还不错。
答案 1 :(得分:1)
甚至比使用插件更简单:查看this post。
他只是在apps/appName/config/appNameConfigurations.class.php
中扩展应用程序配置:
class appNameConfiguration extends sfApplicationConfiguration {
public function configure() {
sfConfig::set('sf_app_template_dir', sfConfig::get('sf_root_dir') . '/templates');
}
}
这种方法对我来说看起来更干净。我只是不知道它是否扩展了symfony查找模板的路径,或者只是设置它。
答案 2 :(得分:0)
我还不是Symfony专家(我已经读过“symfony的权威指南”),所以我可以犯错误。
官方文档中没有提及不同应用程序的常用模板。适用于单个应用程序中常见模板的最合适目录是apps / templates /.
也许有人知道答案。阅读会很有趣。 祝你好运。