Хук Drupal запущен после создания узла - PullRequest
6 голосов
/ 09 сентября 2010

Когда я создаю узел, я хочу, чтобы он программно создавал некоторые узлы, которые ссылаются на только что созданный узел.

Я подумал, что мне просто нужно изменить функцию отправки form_alter, чтобы моя форма вызывала пользовательскую функцию для создания узлов.

Изучив выходные данные $ form_state, я вижу, что NID равен Null. Это будет означать для меня, что мой узел создается после того, как отправка была запущена. Это имеет смысл. Как я могу вызвать код для запуска после того, как узел был создан, чтобы я мог автоматически создавать некоторые узлы, которые ссылаются?

Ответы [ 2 ]

12 голосов
/ 09 сентября 2010

Вы хотите использовать hook_nodeapi() и обработчик insert:

function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch ($op) {
    case 'insert':
      // $node contains the newly created node
      break;
  }
}
0 голосов
/ 04 июня 2014

Я написал модуль, который предоставляет то, что вы ищете. Подробности можно найти здесь: Обратный вызов после сохранения?

...