首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal团队管理

Drupal团队管理
EN

Stack Overflow用户
提问于 2018-03-23 19:15:39
回答 1查看 54关注 0票数 2

我是新的drupal (但不是在编程),我正在开发一个3用户级别的网站。

  1. 能够更改任何用户内容的主用户。
  2. 能够更改其内容和注册为其员工的用户的内容的中介者。
  3. 一个普通的人,他只能改变自己的内容。

媒体用户不能更改在另一个媒体用户下注册的基本用户的内容。

通过对google的研究,我发现了有机组模块。然而,该模块似乎根据内容类型对用户进行分组。这不是我想要的。它更像是有领导和成员的团队,团队会发布相同的内容类型。

有谁可以帮我?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-23 20:35:49

用户层次结构

您可以使用用户字段(/admin/config/people/accounts/ fields )创建用户层次结构。你可以:

  1. 创建对经理的引用
  2. 或者创建许多对团队的引用。

版本安全性

你可以用hook_form_alter()。在模块中实现这个钩子时,您将能够检查用户是否可以编辑内容。

下面是一个示例代码:

代码语言:javascript
复制
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
    global $user;
    if ($form_id == 'TYPE_node_form') {
    // or if (strpos($form_id, '_node_form') !== false) {

        $node = $form_state['build_info']['args'][0] ;

        if (! check_if_user_can_edit($user, $node)) {

            drupal_set_message(t('Restricted'), 'error');
            drupal_goto('<front>');
        }
    }
}

check_if_user_can_edit()函数,应该检查$user字段(team或其他什么),还应该检查$node ($node->uid)的所有者,如果用户能够编辑,则返回TRUEFALSE

您还可以实现hook_node_presave(),以确保没有任何节点可以使用相同的check_if_user_can_edit()函数以其他方式编辑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49456906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档