如何自定义要在"添加更多portlet"菜单中显示的portlet

Pra*_*h K 6 liferay liferay-6

我需要自定义哪个portlet出现在"添加更多portlet菜单"中,如下图所示:

在此输入图像描述

我需要根据登录的用户或站点(社区)限制此菜单中显示的portlet数量.因此,Site-owner或Site-admin将只能将这些portlet添加到omni-admin为其确定的页面中.

Liferay是否提供任何此类功能(通过配置或其他)或者我是否必须创建新的portlet和钩子来实现此目的?

环境: Liferay 6.1 CE GA2

任何想法都将非常感激.

谢谢

Pra*_*h K 6

以下是Liferay论坛中对同一问题的回答:

您可以限制从管理端添加到页面的portlet,而不必进行任何开发.

但是,您需要创建一个角色并在其上添加所有人.以下是实现此目的的步骤:

  1. 让用户成为您希望他们添加portlet的组织或站点的一部分.
  2. 转到Control Panel- > Roles并创建常规角色(不是组织或站点角色)
  3. 在Define Permissions下拉菜单中,转到Portal- > Site- > Page- >并检查Update为已定义的权限.
  4. 再次转到Define-permissions下拉菜单,然后转到Site Application- >(选择您希望用户添加到页面的Portlet名称) - > Add to page.
  5. 如果有其他要用户添加的portlet,请重复步骤4.
  6. 将此角色添加到您的用户:转到Control Panel- > User and Organizations.点击你的,User然后转到Roles.
  7. 最后,您需要转到Server Administration并执行Clean Up Permissions清除GuestPower Users角色的权限.

现在应该这样做,以便无论用户是否附加到此角色,他们都会在左上角看到"添加"按钮,并且只能添加您在角色权限中指定的portlet.