在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。
有什麼建議嗎?