Php 对于可以在多个应用程序中使用的模板,什么是最佳位置?
我的Symfony框架中有两个应用程序:后端和前端 是否可能有两个应用程序都在使用的模板Php 对于可以在多个应用程序中使用的模板,什么是最佳位置?,php,symfony1,Php,Symfony1,我的Symfony框架中有两个应用程序:后端和前端 是否可能有两个应用程序都在使用的模板 如果是这样的话,放置这些模板的最佳位置是什么?我还不是Symfony专家(我已经阅读了《Symfony权威指南》),所以我可能会犯错误 官方文档中没有提到不同应用程序的通用模板。单个应用程序中最适合通用模板的目录是apps/templates/ 也许有人知道答案。读起来会很有趣。 祝你好运。我还不是Symfony专家(我已经读过《Symfony权威指南》),所以我可能会犯错误 官方文档中没有提到不同应用程序
如果是这样的话,放置这些模板的最佳位置是什么?我还不是Symfony专家(我已经阅读了《Symfony权威指南》),所以我可能会犯错误 官方文档中没有提到不同应用程序的通用模板。单个应用程序中最适合通用模板的目录是apps/templates/ 也许有人知道答案。读起来会很有趣。
祝你好运。我还不是Symfony专家(我已经读过《Symfony权威指南》),所以我可能会犯错误 官方文档中没有提到不同应用程序的通用模板。单个应用程序中最适合通用模板的目录是apps/templates/ 也许有人知道答案。读起来会很有趣。
祝你好运。过去我唯一能克服这一问题的方法就是为共享片段创建一个插件 IE:在插件下创建一个名为 模板蛋白 在其中,创建模块文件夹,并在其中创建常规模块文件夹结构 模板路径的示例:
sf_root/plugins/TemplatesPlugin/modules/book/pageSuccess.php
sf_root/plugins/TemplatesPlugin/modules/book/_title.php
确保在config/ProjectConfiguration.class.php中启用了插件(如果您使用的是enableallpluginsept,则会启用,否则您需要将其添加到应该已经存在的插件数组中)
然后,您可以像访问任何其他模板一样访问这些模板,例如:
include_partial('book/title', array('title'=>'hello'));
虽然这感觉有点像黑客,但它工作得很好。我过去能够克服这一问题的唯一方法是为共享片段创建一个插件 IE:在插件下创建一个名为 模板蛋白 在其中,创建模块文件夹,并在其中创建常规模块文件夹结构 模板路径的示例:
sf_root/plugins/TemplatesPlugin/modules/book/pageSuccess.php
sf_root/plugins/TemplatesPlugin/modules/book/_title.php
确保在config/ProjectConfiguration.class.php中启用了插件(如果您使用的是enableallpluginsept,则会启用,否则您需要将其添加到应该已经存在的插件数组中)
然后,您可以像访问任何其他模板一样访问这些模板,例如:
include_partial('book/title', array('title'=>'hello'));
虽然这感觉有点像黑客,但它工作得很好。甚至有一种比使用插件更简单的方法:看看 他只是在
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查找模板的路径,或者只是设置了它。甚至有一种比使用插件更简单的方法:查看 他只是在
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查找模板的路径,或者只是设置了它。您所说的是正确的,在这个问题上没有官方文件,这就是为什么我在这里问它,因为我不知道这个问题的正确答案。apps/templates/包含该特定应用的全局模板。我正在寻找的是在不同的应用程序中使用模板的可能性…不幸的是,我没有遇到过这样的任务,所以我帮不了你。对不起,你说的是对的,在这个问题上没有官方文件,这就是为什么我在这里问这个问题,因为我不知道这个问题的正确答案。apps/templates/包含该特定应用的全局模板。我正在寻找的是在不同的应用程序中使用模板的可能性…不幸的是,我没有遇到过这样的任务,所以我帮不了你。对不起,我注意到插件中模块中的文件名必须是唯一的。(示例)如果您的项目中已经存在一本书,并且您在插件中创建了它,它将首先尝试在现有模块书(位于后端或前端)中搜索该页面,然后在插件文件夹中搜索该页面。如果你想确保没有冲突发生,在插件中也要使用唯一的模块名。是的,这一点很好。它也可以是一个强大的功能-它允许你超越一个插件的单一模板,而不必在你的应用程序中复制整个插件,或编辑插件文件。我注意到插件模块中的文件名需要是唯一的。(示例)如果您的项目中已经存在一本书,并且您在插件中创建了它,它将首先尝试在现有模块书(位于后端或前端)中搜索该页面,然后在插件文件夹中搜索该页面。如果你想确保没有冲突发生,在插件中也要使用唯一的模块名。是的,这一点很好。它也可以是一个强大的功能-它允许你超越一个插件的单一模板,而不必在你的应用程序中复制整个插件,或编辑插件文件。很好的发现。比我的方法更喜欢这个。即使它在改变而不是增加路径,我相信这是可以改变的。这种方法正是我喜欢的。在研究了如何使用它之后,它用一个替代方法替换了apps/appname/templates下的模板目录,而不是像插件那样添加一个额外的目录。除了使用插件之外,没有其他方法可以实现这一点。所以至少对我来说,这是一个糟糕的解决方案。好的发现。比我的方法更喜欢这个。即使它在改变而不是增加路径,我相信这是可以改变的。这种方法正是我喜欢的。在研究了如何使用它之后,它用一个替代方法替换了apps/appname/templates下的模板目录,而不是像插件那样添加一个额外的目录。除了使用插件之外,没有其他方法可以实现这一点。所以至少对我来说,这是一个糟糕的解决方案。