在Liferay的控制面板中添加新部分

时间:2012-12-27 11:40:52

标签: liferay

我想在liferay的控制面板中添加一个新的部分,在该部分中我想拥有自定义portlet。我是用ext做的。但是我想用钩子做。有可能吗?

2 个答案:

答案 0 :(得分:1)

我认为使用钩子并不容易,原因如下:

  1. 您无法在Hook中修改 - 类com.liferay.portal.util.PortletCategoryKeys,其中包含用于显示不同部分的键。这个类中的不同部分在字符串数组ALL中进行了硬编码。
  2. 您无法修改使用PortletCategoryKeys#ALL的{​​{3}}逻辑来确定相关请求是否适用于控制面板portlet。
  3. 然后您还有另一种方法,您无法使用Hook进行修改并广泛使用PortalImpl#isControlPanelPortlet()
  4. 用钩子做:

    我没有试过这个,但我认为如果你需要用钩子来做,你必须改变所有那些使用PortletCategoryKeys#ALLPortalImpl的方法的JSP,如上所述,并为JSP中的所有这些方法提供自定义实现。

    我真的很想知道你是如何使用EXT实现的,可能只是你已经覆盖的步骤或方法。所以我可以试着用钩子来转换它们。

    这是我的理解。希望这会有所帮助。

答案 1 :(得分:0)

随着Marketplace的出现,ControlPanel有一个名为“Marketplace”的新类别,该部分在插件中引入。但是,我从未检查6.1 GA2是否引入了此插件刚刚填充的新部分。检查marketplace插件是否可以找到在那里实现的这一部分的痕迹。

另一方面,还没有人确定任何明确需要新部分的部分(虽然有些人问我如何解决同样的问题)。因此,您可能需要重新考虑该要求并选择其中一个现有部分。如果你不这样做,至少我会对新版本的名称和目的感兴趣 - 我可能会发现第一个实际上证明了这种实现的合理性......