我们已经从liferay下载了Notifications portlet,它修改了JSP:
html/portlet/dockbar/view_user_account.jspf
我们还在钩子中修改这个特殊的jspf。
目前我们正在做的是我们在自定义钩子中复制通知portlet中的代码,并在最后部署我们的自定义钩子,以便应用我们的更改。
否则我们需要通过修改通知portlet的源来从通知portlet中删除JSP挂钩。
有没有更好的方法来实现这一目标?
由于
答案 0 :(得分:1)
不幸的是,你被困在一块岩石和一块坚硬的地方之间。您需要修改其中一个插件以不包含JSP。 Liferay可以处理每个JSP最多被覆盖一次。
另一种方法可能是在显示页面后通过JS DOM操作“破解”您的更改。这使得维护更加困难,但可以简化日常业务和更新。
涉及两个插件更改同一JSP的任何变通方法的一个大问题是未定义顺序。此外,它可能具有破坏性:在部署和取消部署修改相同JSP的两个插件之后,原始JSP就消失了:(
部署插件A,然后是B,然后取消部署A将使您只部署插件B,但使用A的已覆盖JSP版本。