Как исправить предупреждение, что функция 'node_form' не найдена? - PullRequest
3 голосов
/ 22 января 2011

Я пишу друпальный модуль.В моем модуле у меня есть следующее:

В моем файле .module у меня есть:

function mymodule_managment_menu(){
$items = array();
$items['management/edit'] = array(
    'title' => 'Add Node',
    'page callback' => 'display_add',
    'access callback' => 'user_access',
    'file' => 'file.inc',
  );
  return $items;
}

в моем файле.я перехожу к http://myhost/management/edit я получаю следующее предупреждающее сообщение:

предупреждение: call_user_func_array () ожидает, что параметр 1 будет допустимым обратным вызовом, функция 'node_form' не найдена или недопустимое имя функции в/var/www/includes/form.inc в строке 378.

при отладке я получаю в form.inc:378, который:

  $form = call_user_func_array(isset($callback) ? $callback : $form_id, $args);

где мой $ callback ='node_form.но все же это не определено.конечно, когда я перехожу на http://myhost/node/add/track, я получаю правильно оформленную форму, которую хочу.когда я отлаживаю его, я запускаю тот же путь кода с тем же значением переменной, и объявляется node_form.так что я предполагаю, что мой модуль загружается перед модулем узла, но я просто сомневаюсь в этом, поскольку модуль узла является основным модулем.попытался увеличить значение веса моего модуля до 11 - не помогло.пожалуйста, помогите ...

1 Ответ

3 голосов
/ 22 января 2011

Функция node_form определена в modules / node / node.pages.inc . Этот файл не загружается по умолчанию. Вы должны загрузить его вручную, используя module_load_include в обратном вызове вашей страницы.

...