有没有办法根据用户角色的权重对视图结果进行asc / desc排序。我们尝试使用php代码作为排序标准。我们将用户角色的权重作为输出返回,但订单未按预期更改。
答案 0 :(得分:3)
以下的php函数.....实际上我只是把它作为一个函数,因为它更整洁,我需要在多个视图中使用它,但你可以直接在你的视图中使用这个代码。理想情况下,这可能应该在一个模块中。
function get_role_weight($userId){
$users = user_load($userId);
$userRole = $users->roles;
$arr = Array();
foreach($userRole as $row){
$roleID = user_role_load_by_name($row)->rid;
$role = user_role_load($roleID);
$arr[] = $role->weight;
}
sort($arr);
return $arr[0];
}
如何完成
将此代码放入“值代码:”字段:return get_role_weight($data->uid);
将以下代码放入“输出代码:”字段<?php print $value; ?>
最后,您需要做的是在排序条件中添加一个新的“Global:PHP”字段并使其按“升序”排序,然后在“排序代码:”字段中使用以下代码:{{1 }}