在Kohana(PHP框架)中,布局是通过Template_Controller实现的,该模板继承了名为$ template的成员变量,该变量用作布局视图。 然后在操作方法中,您可以使用更多的子视图(通常是内容视图)填充$模板。 (http://forum.kohanaframework.org/discussion/3612/kohana-layout-system/p1)在运行时更改布局模板
这使我可以在运行时更改布局“主题”。对于租户可以选择自己的主题(两列,三列等)的多租户系统非常有用。
如何在Scala模板引擎中实现Playframework 2 Scala? 换句话说,我想有一个租户可以从中选择的多个布局模板。控制器然后呈现布局模板和特定于动作的内容模板。
喜欢的东西(控制器的动作伪代码):
- 基于用户,检索布局主题(存储在字符串中的数据库的名称,并相应的映射视图文件)。
- 呈现操作特定的内容视图。
- 渲染从(1)和(2)一起获得的布局视图。
注意:对于每个操作,布局主题可能会更改每个用户,但内容视图保持不变。
在它的文档(http://www.playframework.com/documentation/2.1.1/ScalaTemplateUseCases)
内容模板,比方说,index.scala.html,包括到在main.scala.html定义的主要的呼叫时,布局模板。换句话说,它是硬编码的,因此index.scala.html与main.scala.html紧密耦合。
我虽然关于使用反射调用主控制器,然后传递内容。
另一种方法是使用解释模板引擎,如Scalate。
有什么建议吗?