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

时间:2012-05-19 10:18:26

标签: liferay liferay-6

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

enter image description here

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

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

环境: Liferay 6.1 CE GA2

任何想法都会非常感激。

谢谢

3 个答案:

答案 0 :(得分:6)

以下是Liferay论坛中同一问题的answer

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

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

  1. 让用户成为您希望他们添加portlet的组织或站点的一部分。
  2. 转到Control Panel - > Roles并建立常规角色(非组织或网站角色)
  3. 在“定义权限”下拉菜单中,转到Portal - > Site - > Page - >并将Update视为已定义的权限。
  4. 再次转到“定义权限”下拉菜单,转到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角色的权限。
  8. 现在应该这样做,无论用户是否附加到此角色,他们都会在左上角看到“添加”按钮,并且只能添加您在角色权限中指定的portlet。

答案 1 :(得分:0)

您需要为要允许的portlet授予ADD_TO_PAGE权限。默认情况下,社区管理员对所有portlet具有相当广泛的权限。在“定义权限”(控制面板/角色/社区管理员/操作/定义权限)中检查“社区管理员”角色。

我建议您查看允许社区管理员执行的操作并创建自定义角色,定义其权限并使“受限”管理员成为此角色的成员,而不是默认的社区管理员。

答案 2 :(得分:0)

有更好的方式。 在其权限表中检查所有portlet权限。 转到portlet管理器并首先取消全部检查“user”

因此未显示“添加更多portlet菜单”