Программно запретить создание ноды определенного типа для пользователя определенной роли при условии что для этой роли разрешено создавать, после каких либо действий.
Сделал пока что рулесами когда 1 нода созднаю юзером при создании материала перекидывает автоматом на главную и сообщение типа создавать уже низя...
но хотелось бы как то ссылку убрать со страницы Создать материала.
Комментарии
ссылочку можно убрать средствами CSS
с определенной страницы???
убрать то нужно после действий а не навсегда
может быть hook_node_access?
<?php
function имя_модуля_node_access($node, $op, $account) {
$type = is_string($node) ? $node : $node->type;
if (($type == 'тип ноды') && ($op == 'create') && ($account->uid == 'идентификатор пользователя')) {
return NODE_ACCESS_DENY;
}
}
?>
у меня сработало - выкидывает пунктик добавить такую-то ноду из меню
пардоньте... не увидел сразу, что у вас Drupal 6. Это я для 7 писал...
Воспользуйтесь hook_menu_alter, переопределите access callback для пути node/add/node-type
подскажите примерчик этого
<?php
function mymodule_menu_alter(&$items) {
$items['node/add/answer']['access callback'] = FALSE;
}
?>
<?php
function mymodule_menu_alter(&$items){
$items['node/add/answer']['access callback'] = 'mymodule_access'; // Устанавливаем собственный обработчик права доступа
...
}
function
mymodule_access(){global $user;
if ($user->uid == 666){
return false; // Возвращаем то, что нам нужно
}
return true;
}
?>