我们为Liferay创建的主题存在问题,对我而言,似乎我们做错了什么,因为它看起来像是一个非常愚蠢的问题。我们为所有插件使用Maven构建,因此具有包含版本号的构建工件。当我们部署主题时,看起来Liferay根据主题的外观XML和.war文件的名称中指定的主题名称为主题创建ID。它看起来像xxxx_WAR_yyyy
,这对我来说非常混乱。当我们部署新版本的主题时,Liferay将为其创建不同的ID,因此使用“旧”主题的所有页面都不会更新为新版本。
必须有某种方式为主题指定一个永远不会改变的唯一ID,无论主题被部署为什么文件。在我看来,文件名对Liferay没有任何意义。有办法做到这一点吗?显然,我们总是可以使用固定的文件名来部署文件,但不知怎的,我觉得我们做错了什么,错过了配置设置等等。有没有办法在主题上强制使用唯一的ID?
答案 0 :(得分:0)
在主题项目的pom.xml中,给出这个
<artifactId>your-theme</artifactId> <name>${project.artifactId}</name>
当您部署任何版本的主题时,这应该创建一个相同的名称工件。
答案 1 :(得分:0)
根据问题的第一段作为解决方案,我认为,如果首先你将禁用旧版本主题(不仅从管理部分执行,而且还从webapps中删除该特定主题目录),然后部署较新版本的主题。接下来为liferay管理部分中的所有公共页面启用较新的版本主题。然后,如果您检查,则在所有页面中应用更新版本的主题。如果您愿意,也可以尝试这种方式。希望这会有所帮助。