可以在多个应用中使用的模板的最佳位置是什么?

时间:2009-12-08 08:43:33

标签: php symfony1

我的Symfony框架中有2个应用程序:后端和前端。

是否可以拥有两个应用程序正在使用的模板?

如果是这样,放置这些模板的最佳位置是什么?

3 个答案:

答案 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 /.

也许有人知道答案。阅读会很有趣。 祝你好运。