我创建了一个用户视图及其角色,并向用户应用了多个角色。
我不想在
中显示(匿名、经过身份验证的用户、角色 1、角色 2)视图输出,我尝试使用views_pre_render以及
进行渲染views_post_execute 但显示为匿名、经过身份验证
角色列的 user,role1,role2,MyROLE1,MYROLE2
我创建了一个自定义模块
我的代码如下:
function customview1_views_post_execute(&$view) {
$results = &$view->result;
foreach ($results as $key => $result) {
if ($view->name == 'list_users_roles') {
$user_roles = $result->_field_data['uid']['entity']->roles;
// print_r($result->_field_data['uid']['entity']->roles);
$filtered_roles = array_values(array_diff($user_roles,array('anonymous user','authenticated user','role1','role2'))) ;
$results[$key]->_field_data['uid']['entity']->roles['rendered']['#markup'] = $filtered_roles;
}
}
return $view;
}
使用views php模块并过滤所需的角色