2010-09-09 2 views
6

Lorsque je crée un noeud, je souhaite qu'il crée par programme des noeuds qui référencent le noeud que vous venez de créer.Drupal hook déclenché après la création du noeud

Je pensais que j'aurais juste besoin de changer la fonction de soumission form_alter pour que mon formulaire appelle une fonction personnalisée pour créer les nœuds.

Examiner la sortie $ form_state Je peux voir que le NID est nul. Cela signifierait pour moi que mon noeud est créé après le lancement de l'envoi. Ca a du sens. Comment est-ce que je peux appeler le code pour courir après que le noeud ait été créé afin que je puisse créer automatiquement quelques noeuds qui se réfèrent?

Répondre

12

Vous voulez utiliser hook_nodeapi() et le gestionnaire insert:

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

J'ai écrit un module qui fournit ce que vous cherchez. Vous pouvez trouver les détails ici: Post-save callback?

Questions connexes