Возможно ли удалить ноду без подтверждения, типо такой строки:
http://localhost/node/2518/delete&confirm=1?form_id=node_delete_confirm ???
Друпал 5
Возможно ли удалить ноду без подтверждения, типо такой строки:
http://localhost/node/2518/delete&confirm=1?form_id=node_delete_confirm ???
Друпал 5
Комментарии
Конечно.
Вариантов много.
Например организовать свою кнопку delete по сабмиту которой вызывать функцию node_delete($nid);
Либо перехватить форму node_delete_confirm и выполнить все необходимое в этом месте.
А как ни будь удалить с помощью адресной строки можно без подтверждения?
У меня просто скрипт на bash должен сам будет запускать links и удалять ноду.
Если вы хотите управлять друпалом из командной строки то обратите внимание вот на этот проект http://drupal.org/project/drush который позволяет общаться с дурпал через обычный шелл посрдевом команды drush.
А для организации того решения о котором говорили Вы достаточно:
использовав hook_menu описываем свой путь
function mymodulename_menu($may_cache) {
$items = array();
$items[] = array(
'path' => 'nodedel',
'title' => t('Del'),
'callback' => 'nodedel',
'access' => TRUE
);
return $items;
}
Ну и собственно сама функция nodedel
function nodedel($nid) {
node_delete($nid);
return;
}
Вызывается это чудо
http://mysite/nodedel/nodeid
или елси вы не используете чистые ссылки то
http://mysite/?q=nodedel/nodeid
где nodeid это nid удаляемой ноды.
учтите тот факт что функция node_delete проверяет достаточно ли прав у текущего пользователя на удаление ноды. Если недостаточно то нода удалена не будет.
А можно поподробнее пожалуйста куда эти функции прописать надо.
Вот тебе пример модуля. Смотри атач.
Положи его в /sites/all/modules/
И активизируй в админке модуль Node Del Url
использовать http://mysite/nodedel/nid
где nid = идентификатор ноды
ЭТО ТОЛЬКО ПРИМЕР
Любой пользователь используя это урл может удалить любой материал с сайта.