Inheritance 查找由Liferay主题6.1.1 GA2中的组分配的继承用户角色

Inheritance 查找由Liferay主题6.1.1 GA2中的组分配的继承用户角色,inheritance,liferay-6,liferay-velocity,liferay-theme,Inheritance,Liferay 6,Liferay Velocity,Liferay Theme,我们想为6.1.1 GA2签入Liferay主题,如果当前登录的用户有一个角色,例如“myRole” 通过将用户添加到分配该角色的组,可以定义该角色并将其分配给该用户 当我在控制面板中检查用户角色时,用户列表中正确显示了该用户的组。编辑用户时,“角色”面板将在“继承的角色”中显示分配的组 主题简单 #set ($usrRoles = $user.getRoles()) #foreach( $usrRole in $usrRoles ) <p>$usrRole.getName(

我们想为6.1.1 GA2签入Liferay主题,如果当前登录的用户有一个角色,例如“myRole”

通过将用户添加到分配该角色的组,可以定义该角色并将其分配给该用户

当我在控制面板中检查用户角色时,用户列表中正确显示了该用户的组。编辑用户时,“角色”面板将在“继承的角色”中显示分配的组

主题简单

#set ($usrRoles = $user.getRoles())
#foreach( $usrRole in $usrRoles )
    <p>$usrRole.getName()</p>
#end
#set($usrRoles=$user.getRoles())
#foreach($usrRole中的$usrRoles)
$usrRole.getName()

#结束
仅返回直接分配的角色,而不是从组继承的角色返回


是否有其他方法获得这些角色?或者这只是Liferay中的又一个bug

如果您使用的是liferay用户组,则可以通过UserGroupRoleLocalService检索关联的角色

将此代码添加到以下内容之后:

#set($userGroupRoleLocalService= $serviceLocator.findService("com.liferay.portal.service.UserGroupRoleLocalService"))

#set($ugUsrRoles = $userGroupRoleLocalService.getUserGroupRoles($user.getUserId()))

#foreach( $ugUsrRole in $ugUsrRoles )
    <p>$ugUsrRole.getRole().getName()</p>
#end
#set($userGroupRoleLocalService=$serviceLocator.findService(“com.liferay.portal.service.userGroupRoleLocalService”))
#set($ugUsrRoles=$userGroupRoleLocalService.getUserGroupRoles($user.getUserId()))
#foreach($Ugusrole中的Ugusrole)
$ugUsrRole.getRole().getName()

#结束

这是velocity中可用的所有liferay对象的有趣列表:

Thx!Velocity对象的列表非常有用,但是我在哪里可以找到这些对象的方法呢?我猜只有在源文档中?是的,不幸的是,唯一的文档是源代码或javadoc。我通常使用对应于velocity变量的java类,然后在我的IDE中尝试它的方法