Как скрыть новый тип контента из меню создания контента - PullRequest
1 голос
/ 04 августа 2010

Я новичок в drupal, я создал новый тип контента 'new', у меня есть два типа ролей: редактор и менеджер. Редактор должен иметь возможность добавлять контент в новый тип контента, но менеджер не должен. Я указал в коде модуля, что

function new_access($op, $node, $account) {
  switch ($op) {
    case 'create':
    return user_access('create NEW', $account);
  }
}

Теперь редактор получил разрешение на это, и он может добавлять контент, но при управлении входом в систему, когда также просматривается новый тип контента, но при нажатии в меню будет отображаться «Доступ запрещен»

Я хочу создать этот тип контента таким образом, чтобы при управлении входами в систему тип контента не должен был содержать ссылку «Новый»

помогите пожалуйста

Спасибо

1 Ответ

1 голос
/ 04 августа 2010

Если вы создали новый тип контента через интерфейс Drupal, а не через пользовательский модуль (то есть вы перешли к Управление контентом -> Типы контента и добавили его там), намного проще ограничить это.

Просто перейдите на Управление пользователями -> Разрешения , найдите под заголовком узел и снимите флажок Создать НОВЫЙ контент под Редактор Роль.

Если вы создали тип контента с помощью пользовательского модуля, вы все равно перейдете на страницу Разрешения , но в вашем пользовательском модуле вам необходимо реализовать hook_perm() в дополнение к hook_access():

function new_perm() {
  return array('create NEW');
}

Затем вы можете использовать user_access('create NEW', $account); для проверки разрешения create NEW.

...