我想在 liferay 的控制面板中添加一个新部分,并且在该部分中我想拥有我的自定义 portlet。我是用分机做的。但是我想用 hook 来做。可能吗?
最佳答案
我认为使用钩子(Hook)不会那么容易,原因如下:
- 你不能在 Hook 中修改 - 类
com.liferay.portal.util.PortletCategoryKeys
其中包含用于显示不同部分的键。不同的部分在此类中硬编码在字符串数组ALL
中。 - 你不能修改
PortalImpl#isControlPanelPortlet()
的逻辑它使用PortletCategoryKeys#ALL
来确定所讨论的请求是否针对控制面板 portlet。 - 那么你还有另一种方法,你不能用 Hook 修改它并被广泛使用
PortalImpl#getControlPanelCategory()
用钩子(Hook)做:
我没有尝试过这个,但我认为如果你需要用一个钩子(Hook)来做,你将不得不改变所有那些使用 PortletCategoryKeys#ALL
和 PortalImpl 方法的 JSP
如上所述,并为 JSP 中的所有这些方法提供自定义实现。
我很想知道你是如何用EXT实现的,可能只是你重写的步骤或方法。这样我就可以尝试将它们转换为钩子(Hook)。
这是我的理解。希望这会有所帮助。
关于liferay - 在 Liferay 的控制面板中添加新部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054088/