Как я могу удалить узел, который отображается в представлении в Drupal? - PullRequest
2 голосов
/ 26 августа 2011

Drupal 6.

Я создал тип узла, который состоит только из основного текстового поля (заголовок скрыт с помощью auto_nodetitles), и я отображаю все узлы этого типа через представление.

Я хочу, чтобы автор узла мог щелкнуть ссылку «удалить» где-то рядом с элементом узла в представлении, чтобы удалить его (как вы обычно удаляете узел через / admin / content / node / Overview ).

Каков наилучший подход к этому?

1 Ответ

2 голосов
/ 26 августа 2011

Посредством просмотра вы можете вывести узел редактирования / удаления ссылок; однако вам придется подтвердить удаление, как на административных страницах.

Я предлагаю вам написать собственный модуль с функцией удаления узлов, но без подтверждения. Напишите этот простой модуль (вы можете использовать существующий пользовательский модуль), выполнив следующие действия:

  1. Напишите реализацию hook_menu(), которая определяет пункт меню с подстановочным знаком для получения идентификатора узла в качестве аргумента (подробнее об этом здесь )
  2. Добавьте функцию, в которой вы должны передать идентификатор узла и вызвать node_delete ()
  3. В представлениях добавьте node: nid в поля представления, но исключите его из отображения
  4. Добавьте настраиваемое текстовое поле просмотра (в параметрах выберите «Вывести это как ссылку») и напишите выбранный вами URL в 1
  5. Не забудьте использовать «[nid]» в качестве подстановочного знака
  6. Прибыль.
...