0

我们为 Liferay 创建的主题存在问题,在我看来,我们做错了什么,因为这似乎是一个非常愚蠢的问题。我们为所有插件使用 Maven 构建,因此有一个包含版本号的构建工件。当我们部署主题时,看起来 Liferay 根据主题的外观 XML 中指定的主题名称和 .war 文件的名称为主题创建了一个 ID。它看起来像xxxx_WAR_yyyy,这让我很困惑。当我们部署新版本的主题时,Liferay 将为它创建一个不同的 ID,因此所有使用“旧”主题的页面都不会更新到新版本。

必须有某种方法为主题指定一个永远不会改变的唯一 ID,无论主题已部署为什么文件。在我看来,文件名对 Liferay 没有任何意义。有没有办法做到这一点?显然,我们总是可以使用固定文件名部署文件,但不知何故,在我看来,我们做错了什么,缺少配置设置或其他东西。有没有办法在主题上强制使用唯一 ID?

4

2 回答 2

0

在你的主题项目的 pom.xml 中,给这个

<artifactId>your-theme</artifactId>
<name>${project.artifactId}</name>

当您部署任何版本的主题时,这应该会创建一个相同名称的工件。

于 2013-11-12T08:40:52.023 回答
0

根据我认为作为解决方案的问题的第一段,如果一开始您将禁用旧版本主题(不仅从管理部分执行此操作,而且还从 webapps 中删除该特定主题目录),然后部署新版本的主题。接下来为liferay管理部分的所有公共页面启用较新版本的主题。然后,如果您选中,则在所有页面中都应用了较新版本的主题。如果你愿意,也可以这样试试。希望这会有所帮助。

于 2013-11-13T09:36:53.823 回答