Удалисть ноду без подтверждения.

Главные вкладки

Комментарии

Аватар пользователя Demimurych Demimurych 27 ноября 2008 в 14:15

Конечно.
Вариантов много.

Например организовать свою кнопку delete по сабмиту которой вызывать функцию node_delete($nid);

Либо перехватить форму node_delete_confirm и выполнить все необходимое в этом месте.

Аватар пользователя S_anches S_anches 27 ноября 2008 в 15:21

А как ни будь удалить с помощью адресной строки можно без подтверждения?

У меня просто скрипт на bash должен сам будет запускать links и удалять ноду.

Аватар пользователя Demimurych Demimurych 27 ноября 2008 в 23:34

"Jamshut" wrote:
У меня просто скрипт на bash должен сам будет запускать links и удалять ноду.

Если вы хотите управлять друпалом из командной строки то обратите внимание вот на этот проект http://drupal.org/project/drush который позволяет общаться с дурпал через обычный шелл Smile посрдевом команды 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 проверяет достаточно ли прав у текущего пользователя на удаление ноды. Если недостаточно то нода удалена не будет.

Аватар пользователя Demimurych Demimurych 10 ноября 2015 в 11:45

Вот тебе пример модуля. Смотри атач.

Положи его в /sites/all/modules/
И активизируй в админке модуль Node Del Url

использовать http://mysite/nodedel/nid

где nid = идентификатор ноды

ЭТО ТОЛЬКО ПРИМЕР
Любой пользователь используя это урл может удалить любой материал с сайта.