Вы здесь

Как ограничить для роли доступ к странице созданной в hook_menu?

0

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

/*
 /Реализуем hook_menu, создаем новую ссылку в меню, ведущую на нужную страницу.
*/
function mymodule_menu() {
    $items['mypage'] = array(
        'title' => 'MyPage',
        'page callback' => 'mymodule_callback',
        'access arguments' => array('administer users'), //Доступ к странице открыт только администратору сайта.
    );
    return $items;}

function mymodule_callback(){ //Тут уже вывожу что мне надо.
.....
} 
Версия Drupal: 
7.x
Вопрос задан 13.04.2017 - 22:02

Ответы

0
'access callback' => 'mymodule_access_callback',
function mymodule_access_callback() {
  if (...) {
     return TRUE;
  }
}
Ответ дан 13.04.2017 - 22:10
Аватар пользователя xandeadx
xandeadx
1404
0

Я бы рекомендовал сделать отдельное право доступа, используя hook_permission - и использовать его вместо "administer users". Далее дать это право доступа нужным ролям. Это позволит дать доступ к этому пункту меню любой другой роли (или забрать это право) без изменения кода.

Ответ дан 14.04.2017 - 15:08

В данном случае, мне пока это не нужно, но на будущее понадобится, спасибо!

Комментарий оставлен 14.04.2017 - 18:03