3

我正在开发一个 Liferay 6 项目,该项目的一部分是创建一个新的布局模板,作为默认设置用于整个站点。Liferay 自己的 wiki 关于布局模板的文档非常稀少,而且我在谷歌搜索甚至在 SO 上都没有更好的运气。

我确实找到了一篇文章(Liferay - Layout for each pages)可以回答这个问题,但似乎它可能有点矫枉过正。在那个问题中,目标是根据页面更改模板,因此答案是创建一个 Hook 并使用它根据需要动态设置模板。在这里,我只想让这个自定义模板始终成为所有页面的默认模板,这就是为什么我认为其他问题的答案可能比实际需要的要多。

如果有人对这个谜题有答案,请告诉我。谢谢!

-- JLM --

4

1 回答 1

5

好的,我已经弄清楚我的困惑了。Liferay 有两种类型的布局模板——作为主题一部分的模板,这是一种 Liferay 项目,以及实际的布局模板项目本身。

  • 主题中的模板是您为网站设置整体页面布局的地方。主页面模板,命名为portal_normal.vm,是一个完整的网页,带有<html>标签、<head>和<body>等。主题中的其他模板通常是页面片段。
  • 另一方面,布局模板用于在页面的主要内容区域(由主题模板文件中的标记定义)中布置 portlet。它始终是一个片段,并且只能具有 <div> 元素或 <table> 用于布置 portlet。

幸运的是,这实际上使回答我的问题变得非常容易,至少在我需要的上下文中是这样。根据 Liferay 在http://www.liferay.com/community/wiki/-/wiki/Main/How+To+Change+Liferay+Default+Theme的文档:

注意:从 6.x 开始,您不能只使用 liferay-look-and-feel.xml 中指定的主题 ID。相反,请转到控制面板->插件配置->单击感兴趣的主题->记下插件 ID 并使用它 [作为 port-ext.properties 中 default.theme.id 的值]

我希望这可以帮助其他一些试图解决这个问题的人!

于 2011-10-14T19:53:27.113 回答