我正在努力将我的项目从liferay 6x迁移到7x生命周期。任务是覆盖OOB(开箱即用)文件session.js并自定义会话警告/错误消息。我已经覆盖了Language_en.properties,用于错误/警告的文本自定义工作正常。但无法覆盖会话。用于定制的js文件.conssion.js文件的github位置是 liferay-portal / modules / apps / foundation / frontend -js / frontend-js-web / src / main / resources / META-INF / resources / liferay /session.js 即可。我们知道在Lifeary 7中不推荐使用钩子功能,也尝试使用jsp override但是没有成功。请帮我解决如何在liferay 7平台中覆盖session.js文件的步骤。
谢谢&提前欣赏。
答案 0 :(得分:2)
有点晚了,但我刚刚解决了这个问题。
您需要做的就是使用bnd.bnd描述符,config.js配置文件和您自己的session-custom.js创建JAR模块
对于Maven,我有这个项目结构:
module-name
|- src.main.resources.META-INF.resources.js
| |- config.js
| |- session-custom.js
|- bnd.bnd
|- pom.xml
bnd.bnd
Liferay-JS-Config: /META-INF/resources/js/config.js
Web-ContextPath: /session-custom
config.js
;(function() {
console.log('Loading custom AUI modules configuration');
var base = MODULE_PATH + '/js/';
AUI().applyConfig(
{
groups: {
mymodulesoverride: {
base: base,
combine: Liferay.AUI.getCombine(),
filter: Liferay.AUI.getFilterConfig(),
modules: {
'liferay-session-customized': {
path: 'session-custom.js',
condition: {
name: 'liferay-session-customized',
trigger: 'liferay-session',
when: 'instead'
},
requires: [
'aui-io-request',
'aui-timer',
'cookie',
'liferay-notification'
]
}
},
root: base
}
}
}
);
})();
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<!-- ... -->
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
有用的链接: