Liferay:页面到portlet的映射

Liferay:页面到portlet的映射,liferay,liferay-hook,Liferay,Liferay Hook,我在liferay portal中有一个要求,允许用户在特定页面上添加一些特定的portlet。可以通过两种方式实现这一点: 这需要在“添加面板代码”中插入一些自定义代码 创建一个自定义portlet,它将显示在左侧 并允许在页面上添加和拖动portlet 在添加portlet时,它检查页面是否可以拥有这个portlet,并相应地删除它 我的问题是应该使用这两种方法中的哪一种,以及如何使用 注意:我在谷歌上也找不到这方面的更多信息我相信Liferay权限系统足够强大,可以表达您的需求 “添加更多

我在liferay portal中有一个要求,允许用户在特定页面上添加一些特定的portlet。可以通过两种方式实现这一点:

  • 这需要在“添加面板代码”中插入一些自定义代码

  • 创建一个自定义portlet,它将显示在左侧 并允许在页面上添加和拖动portlet

  • 在添加portlet时,它检查页面是否可以拥有这个portlet,并相应地删除它
  • 我的问题是应该使用这两种方法中的哪一种,以及如何使用


    注意:我在谷歌上也找不到这方面的更多信息

    我相信Liferay权限系统足够强大,可以表达您的需求

    “添加更多portlet”菜单中显示的portlet列表可以通过常规角色进行定制。有关详细信息,请参阅


    要限制单个页面(或多个页面)的选项,请修改其权限,以便只有新的常规角色才能更新它。

    根据您对TomášPiňos答案的评论,我的建议是创建一个使用Liferay API的自定义portlet,并允许您这样做:在可用的页面上,使用它可以通过使用Liferay的API来启用/禁用您想要的portlet。在寻找旧的sevencogs示例时,您会发现很多示例(遗憾的是,该示例不再编译,但总的来说API只发生了轻微的更改)。最新的资源与古法典的进一步链接是2篇文章


    关于您的第三个选项(如您在评论中所问):是的,这是可能的:您可以覆盖Liferay的服务并对模型更改作出反应。这意味着您可以添加自己的更新检查。然而,我觉得提供添加任何portlet的选项并不合适,只要用户确实使用了提供的选项,就可以禁止它。这就是为什么我在最初的回答中没有包含此选项。

    我希望它是特定于页面而不是特定于角色的。您在特定页面上显示添加portlet选项的第一个要求可以通过主题模板进行控制,您可以在该模板中为要显示的成员和特定页面添加条件#docbar。此外,您还需要修改面板代码,以使用定义的角色系统限制菜单上的portlet和其他选项。第三部分可以完成吗?我没有找到任何钩子来做这件事