Comment créer un menu "Add children" ?

Bonjour
J'ai créé un type de node qui permet d'avoir une relation parent-fils en ajoutant un champ pour avoir la référence du nid du père. J'essaie maintenant de créer un menu qui permet de créer un node fils pour le node en cours de visualisation. Le but étant de récupérer le formulaire de création de node pour mon type et de préremplir le champ nid automatiquement. Voici ce que ca donne :

<?php
function test_node_info() {
  return array(
   
'testtype' => array(
     
'name' => t('Test Type'),
     
'module' => 'test',
     
'description' => t('Test type from test module'),
     
'has_title' => TRUE,
     
'title_label' => t('Test title'),
     
'has_body' => TRUE,
     
'body_label' => t('Test body'),
    ),
  );
}

function
test_form(&$node, &$param) {
 
$type = node_get_types('type', $node);

  if (
$type->has_title) {
   
$form['title'] = array(
     
'#type' => 'textfield',
     
'#title' => check_plain($type->title_label),
     
'#required' => TRUE,
     
'#default_value' => $node->title,
     
'#weight' => -5,
    );
  }

  if (
$type->has_body) {
   
$form['body_field'] = node_body_field($node, $type->body_label, $type->min
_word_count
);
  }

 
$form['parentnid'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Parent Node Id'),
  );
  return
$form;
}

function
test_menu() {
 
$items['node/%node/child'] = array(
   
'title' => t('Add children'),
   
'page callback' => 'get_n_prefill_form',
   
'page arguments' => array(1),
   
'access callback' => 'node_access',
   
'access arguments' => array('create', 'testtype'),
   
'type' => MENU_LOCAL_TASK,
  );
  return
$items;
}

function
get_n_prefill_form($nodeid) {
 
$form = drupal_get_form('testtype_node_form');
 
$form['parentnid'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Parent Node Id'),
   
'#default' => $nodeid,
  );
  return
$form;
}
?>

Cela provoque une erreur
warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'node_form' was given in /Users/antoine/usr/Library/WebServer/Documents/includes/form.inc on line 359.

Le problème c'est que la fonction node_form qui est appelée à un moment de la création du formulaire est dans le fichier node.pages.inc qui n'est pas inclus. Et le ne peut pas rajouter 'file' => 'node.pages.inc' dans mon menu car mon module n'a pas accès aux fichiers d'autres modules. J'ai essayé une variante en recopiant une partie de la fonction node_add et d'appeler directement test_form.
<?php
function get_n_prefill_form($nodeid) {
  global
$user;

 
$node = array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->na
me
: ''), 'type' => 'testtype', 'language' => '');

 
drupal_set_title(t('Create @name', array('@name' => $types[$type]->name)));
 
$form = test_form($node);
 
var_dump($form);

  return
$form;
}
?>

Mais cela provoque une autre erreur
Fatal error: Call to undefined function node_body_field() in /Users/antoine/usr/Library/WebServer/Documents/sites/drawnstuff.com/modules/test/test.module on line 31

Même principe, la fonction node_body_field est dans node.pages.inc et donc inaccessible.

Est-qu'il existe une bonne méthode pour arriver à ce que je veut faire ?
Merci