一、应用场景:Portlet开发中,经常需要导入jQuery,但是若每个portlet都导入一次jQuery,当多个portlet都处于同一页面时,不仅会增加页面的加载的时间,还会因为jQuery的版本问题,影响某些portlet功能的实现。
解决方法:
1、在Liferay中创建Hook工程,在该工程下创建hook组件,导入路径为 /html/common/themes/top_js.jspf 的文件。
![](https://img-blog.csdn.net/20170822103014457?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTU9PTkNPTQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、在hook组件下导入jQuery,然后在 top_js.jspf 中导入该jQuery。
![](https://img-blog.csdn.net/20170822103030751?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTU9PTkNPTQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
备注:top_js.jspf中语句变红是因为没有上下文造成的。
二、应用场景:用户管理界面的用户姓名包括姓、中间名、名,但是在国内需求中,是不存在中间名的,因此需要将中间名去掉。
解决方法:
1、创建hook组件,导入路径为 /html/portlet/users_admin/user/details.jsp 的文件
![](https://img-blog.csdn.net/20170822103046298?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTU9PTkNPTQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
根据 details.jsp 中的代码 <%@ include file="/html/portlet/users_admin/user/details_user_name.jspf" %> 可知,我们需要再次导入 details_user_name.jspf 文件,然后将要隐藏的 <aui:input /> 中加上 type="hidden"
三、应用场景:修改Liferay工程页面显示的某些字段,使用hook的Language Properties,在主题中也可以使用这些字段 #language('名字');
四、应用场景:修改Liferay工程的配置,如使用hook的Portal properties修改Liferay的portal.properties配置文件
五、所有的Liferay属性都可以在 portal-ext.properties 或 portal-setup-wizard.properties 中被覆盖
总结:
Hook可以修改Liferay页面(如添加jQuery类库);增删页面字段;修改Liferay配置信息;修改Liferay接口.
解决方法:
1、在Liferay中创建Hook工程,在该工程下创建hook组件,导入路径为 /html/common/themes/top_js.jspf 的文件。
2、在hook组件下导入jQuery,然后在 top_js.jspf 中导入该jQuery。
备注:top_js.jspf中语句变红是因为没有上下文造成的。
二、应用场景:用户管理界面的用户姓名包括姓、中间名、名,但是在国内需求中,是不存在中间名的,因此需要将中间名去掉。
解决方法:
1、创建hook组件,导入路径为 /html/portlet/users_admin/user/details.jsp 的文件
根据 details.jsp 中的代码 <%@ include file="/html/portlet/users_admin/user/details_user_name.jspf" %> 可知,我们需要再次导入 details_user_name.jspf 文件,然后将要隐藏的 <aui:input /> 中加上 type="hidden"
三、应用场景:修改Liferay工程页面显示的某些字段,使用hook的Language Properties,在主题中也可以使用这些字段 #language('名字');
四、应用场景:修改Liferay工程的配置,如使用hook的Portal properties修改Liferay的portal.properties配置文件
五、所有的Liferay属性都可以在 portal-ext.properties 或 portal-setup-wizard.properties 中被覆盖
总结:
Hook可以修改Liferay页面(如添加jQuery类库);增删页面字段;修改Liferay配置信息;修改Liferay接口.