2013-07-01 3 views

ответ

1

UserLocalService имеет метод hasRoleUser, который может использоваться, чтобы узнать, принадлежит ли пользователь к определенной роли. Ниже код может быть помещен в navigation.vm файлам под templates папка.

#set($UserLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.UserLocalService")) 
#if ($UserLocalServiceUtil.hasRoleUser(roleID, $user.getUserId())) // It takes roleID as input to check. 
    //Proceed with whatever you want to 
#else 
    //Proceed with something else 

Примечание: Вместо com.liferay.portal.service.UserLocalService, если вы используете com.liferay.portal.service.UserLocalServiceUtil, как можно было бы найти в некоторых ресурсах, как this то вы столкнетесь ниже исключения,

ERROR com.liferay.portal.kernel.bean.BeanLocatorException: org.springframework.beans.factory.NoSuchBeanDefinitionException: No 
    bean named 'com.liferay.portal.service.UserLocalServiceUtil' is defined 
    com.liferay.portal.kernel.bean.BeanLocatorException: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'com.liferay.portal.servi 
ce.UserLocalServiceUtil' is defined 

Другой способ,

#set($role=$serviceLocator.findService("com.liferay.portal.service.RoleLocalService")) 
$role.getUserRoles($user_id) 
+0

thanx для обмена – yannicuLar

2

Просто зациклируйте объект $ user, определенный в init.vm

#set ($user_roles = $user.getRoles()) 
#foreach($role in $user_roles) 
    $role.name<br /> 
#end