2010-09-09 31 views
6

Cuando creo un nodo, quiero que cree programáticamente algunos nodos que hacen referencia al nodo que acaba de crear.Enganche de Drupal después del nodo creado

Pensé que solo necesitaría cambiar form_alter submit function para que mi formulario llame a una función personalizada para crear los nodos.

Examinando la salida $ form_state Puedo ver que el NID es nulo. Esto significaría para mí que mi nodo se crea después de que se haya enviado el envío. Que tiene sentido. ¿Cómo puedo llamar al código para que se ejecute después de que se haya creado el nodo para que pueda crear automáticamente algunos nodos que hagan referencia?

Respuesta

12

que desea utilizar hook_nodeapi() y el manejador de insert:

function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { 
    switch ($op) { 
    case 'insert': 
     // $node contains the newly created node 
     break; 
    } 
} 
0

He escrito un módulo que proporciona lo que se está buscando. Puede encontrar los detalles aquí: Post-save callback?

Cuestiones relacionadas