用户个人资料上的菜单标签仅对个人资料所有者可见

时间:2014-01-30 16:21:56

标签: permissions drupal-7 views hook

我使用视图在用户个人资料页面上创建了“我的书签”标签。该选项卡显示用户已标记的节点。

但是 - “我的书签”只应在用户的自己的个人资料页面上显示,目前用户访问的每个个人资料上都会显示“我的书签”标签。如何检查当前用户是否与正在查看的配置文件匹配?我尝试从View界面,但访问权限没有任何有效的选项。

编辑:

我认为这是代码,但我仍然需要一些指导如何实现:

<?php
global $user;
if (arg(0) == 'user' && $user->uid == arg(1)){
  return TRUE;
}
else {
  return FALSE;
}
?>

我也找到了这个模块,我认为它有很多帮助Views Access Callback

1 个答案:

答案 0 :(得分:0)

我设法使用上面的代码和模块来解决这个问题。

自定义模块包含此代码

<?php

 function MYMODULE_views_access_callbacks() {
  return array(
    'MYCALLBACK_user_has_access' => t('User can only see tab on his own profile'));
}

function MYCALLBACK_user_has_access() {
  global $user;
  if (arg(0) == 'user' && $user->uid == arg(1)){
    return TRUE;
  }
  else {
    return FALSE;
  }
}

?>

Views Access Callback模块将您的回调添加到Views界面,然后您可以将其用于您自己的视图。