同一 symfony 应用程序中不同视图的不同布局

rla*_*ter 2 layout templates symfony1

我有一个带有单个应用程序的 symfony 1.4 项目frontend。该应用程序具有单一模块book和单一操作index

我有两个用于索引操作的模板:indexSuccess.mobile.phpindexSuccess.html.php。该操作将设置格式以便调用这些模板之一或另一个。

我想为这两个模板使用不同的布局:layout.mobile.phplayout.html.php。fileapps/frontend/modules/book/config/view.yml文件用于指定要使用的布局以及布局中包含哪些 CSS 和 JavaScript 文件。

由于每个模块只能有一个view.yml文件,我该如何配置view.yml才能indexSuccess.mobile.php使用layout.mobile.php和加载适当的 CSS 和 JS 文件,同时indexSuccess.html.php使用layout.html.php和加载适当的 CSS 和 JS 文件?

我想使用布局,因为我最终会向此模块添加更多操作/模板。

gre*_*ire 5

您可以使用setLayout()您的行动方法来实现这一目标。 对于 css 和 js 文件的更新,您还可以使用操作(调用sfWebResponse::addStylesheet()sfWebResponse::addJavascript())。如果您绝对想从 执行所有这些操作view.yml,那么最适合您的方法是更改​​模板名称(在操作中返回不同的后缀)