我需要自定义哪个portlet出现在"添加更多portlet菜单"如下图所示:
我需要根据登录的用户或站点(社区)限制此菜单中显示的portlet数量。因此,Site-owner或Site-admin将只能将这些portlet添加到omni-admin为其决定的页面中。
Liferay是否提供任何此类功能(通过配置或其他方式)或者我是否必须创建新的portlet和钩子才能实现此目的?
环境: Liferay 6.1 CE GA2
任何想法都会非常感激。
谢谢
答案 0 :(得分:6)
以下是Liferay论坛中同一问题的answer:
您可以从管理端限制可以添加到页面的portlet,而不必进行任何开发。
您需要创建一个角色,然后在其上添加所有人。以下是实现此目标的步骤:
Control Panel
- > Roles
并建立常规角色(非组织或网站角色)Portal
- > Site
- > Page
- >并将Update
视为已定义的权限。Site Application
- > (选择您希望用户添加到页面的Portlet名称) - > Add to page
。Control Panel
- > User and Organizations
。点击User
,然后转到Roles
。Server Administration
并执行Clean Up Permissions
以清除Guest
和Power Users
角色的权限。现在应该这样做,无论用户是否附加到此角色,他们都会在左上角看到“添加”按钮,并且只能添加您在角色权限中指定的portlet。
答案 1 :(得分:0)
您需要为要允许的portlet授予ADD_TO_PAGE权限。默认情况下,社区管理员对所有portlet具有相当广泛的权限。在“定义权限”(控制面板/角色/社区管理员/操作/定义权限)中检查“社区管理员”角色。
我建议您查看允许社区管理员执行的操作并创建自定义角色,定义其权限并使“受限”管理员成为此角色的成员,而不是默认的社区管理员。
答案 2 :(得分:0)
有更好的方式。 在其权限表中检查所有portlet权限。 转到portlet管理器并首先取消全部检查“user”
因此未显示“添加更多portlet菜单”