在Play框架项目中使用不同的模板

时间:2014-05-05 06:45:06

标签: playframework-2.2

实际上,我需要一些关于允许不同模板的想法,在Play应用中,我的问题或要求如下:

  • 当用户注册我的应用时,我为他们创建了一个不同的网页,并允许他们选择模板/设计(网页实际上是另一个Play应用程序)。

是否有标准方式(工作流程)动态生成模板,而不为每个人创建单独的资源( css html 文件模板)。

抱歉,无法提供完整的细节。欢迎任何建议,谢谢。

2 个答案:

答案 0 :(得分:0)

不,Play中没有任何解决方案,无论如何取决于你的不同模板是什么意思:

  • 如果它只是关于改变' look&感觉' 只需替换CSS即可轻松实现。
  • 如果您计划为每个模板制作完全不同的数据集,则需要在模板记录(文件或数据库存储)中使用自定义标记并自行处理。

第二个解决方案将是更高级的任务,因此您需要花费更多时间。这里有一些HTML解析器,即:jsoup(Java),它允许您构建自定义模板引擎。

自由概念

您可以只存储模板的HTML代码,即:在DB中(为了便于修改而无需重新部署应用程序),您可以使用jsoup查找元素并将其替换为渲染部分,例如菜单,面包屑,内容等,即替换:

<my-breadcrumbs />
<my-menu data-style="vertical" />
<my-content data-column="left" />

提示:如果您曾经使用TYPO3实例,它的标记和/或子部分的概念类似,只需jsoup帮助解析HTML

答案 1 :(得分:0)

感谢 Biesior ,感谢您提供有用的见解,我想我会期待您的前两条建议,因为使用Jsoup对我的Play2 / scala(刚刚开始)的技能有点过分。另外,对于那些在这篇文章上磕磕绊绊的人来说,还有其他有用的SO帖子也在解决类似的问题: