Проверьте функцию node_form_submit () . Обратите внимание, что он делает node_save($node);
до drupal_set_message(t('@type %title has been created.', $t_args));
.
Если вы тогда посмотрите node_save () , вы увидите, что здесь вызывается $ insert 'op op. Таким образом, операция вставки для hook_nodeapi вызывается до того, как сообщение, которое вы хотите изменить, получит вывод.
Вы можете найти некоторые обходные пути, описанные в комментарии к этой проблеме . Возможно, вы также захотите проверить модуль Настраиваемые сообщения , в котором и начинается поток этой очереди.
На случай, если в прошлом мне иногда приходилось писать мини-модуль, который реализует hook_nodeapi, чтобы выяснить, как запускаются хуки:
function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
dpm('hook_nodeapi '. $op .' fired.');
}
}