хорошо, я не знаю, есть ли модули, которые поддерживают добавление разрешений на удаление узла, или нет, но попробуйте следующее .....
сначала нам нужно создать модуль (не беспокойтесь, это просто), который генерирует новое разрешение, которое вы можете дать любой роли пользователя. Давайте назовем это разрешение «разрешение удаления узла»
1 - перейти на / sites / all / modules
2 - создайте новую папку с именем "node_delete_permission" и создайте файлы внутри этой папки
со следующими именами "node_delete_permission.info" && "node_delete_permission.module"
3 - открыть node_delete_permission.info и добавить в него следующее:
name = node delete permission
description = node delete permission
core = 6.x
4 - теперь откройте node_delete_permission.module и добавьте в него следующий код
<?php
/**
* Implementation of hook_perm()
*/
function node_delete_permission_perm() {
return array("node delete permission") ;
}
/**
* Implementation of hook_form_alter
*/
function node_delete_permission_form_alter($form, $form_state, $form_id) {
if($form_id == 'node_admin_content') {
if (!user_access('node delete permission')) {
unset($form['admin']['options']['operation']['#options']['delete']);
}
}
}
5 - теперь включите ваш новый модуль из (admin / build / modules) и перейдите в (/ admin / user / permissions) .. убедитесь, что у вас сгенерировано новое разрешение под названием «разрешение на удаление узла»
если все в порядке ... давайте перейдем к следующему шагу
6 - перейдите к теме "page.tpl.php" и добавьте следующий код вверху этого файла
<?php
$arg1 = arg(1) ;
$node_path = url( 'node/'.$arg1 , array('absolute' => TRUE)) ;
if(arg(0) == 'node' && arg(2) == 'delete' && !user_access('node delete permission')){
drupal_set_message('<div class="message error" > You don\'t have the permission
to delete node </div>') ;
header("Location: {$node_path}") ;
}
?>
теперь вы можете дать это разрешение любой роли пользователя (/ admin / user / permissions)
ПРИМЕЧАНИЕ:
1 - это не 100% друпийский путь, но я думаю, что это полезно в вашем случае
2- я не тестировал этот код, поэтому вы можете обнаружить синтаксическую ошибку или что-то ... вы можете вернуться ко мне, если нашли это
3- У меня плохой английский, я знаю, и мне жаль это