Я нашел несколько сообщений с тем же вопросом, но ответы всегда расходятся с какой-то другой темой, или они не работают для моих нужд.
После сохранения узла я хочу, чтобы мой пользовательский модуль вставил строку в одну из моих пользовательских таблиц, которая содержит nid нового узла. Когда hook_node_submit
вызывается, nid еще не существует. hook_node_insert
имеет nid, но вызывается только при первом сохранении узла, но мне потенциально нужно предпринимать действия при каждом сохранении узла.
Мой план состоит в том, чтобы разделить мою функциональность на собственный метод и реализовать обе ловушки, но я пытаюсь научиться правильно работать с Drupal, и поэтому мне интересно, есть ли ловушка, которая действительно соответствует моим требованиям.
Есть ли ловушка, которая вызывается каждый раз, когда узел сохраняется и называется ПОСЛЕ завершения сохранения?
hook_node_submit
но нет hook_node_update
?
hook_node_insert
так и in hook_node_update
.
hook_node_insert()
и hook_node_update()
являются правильными хуками для этого, hook_node_submit()
вызывается во время процесса отправки формы перед сохранением узла. Не забывайте, что вам нужно очищать кэши каждый раз, когда вы добавляете / удаляете хук
hook_node_insert
иhook_node_update
(действует каждый раз при сохранении узла).