Доброго всем дня!
Создал тип материала consultation и теперь мне необходимо вывести форму добавления этого материла в блоке.
Пытаюсь делать так
global $user;
$block = array();
switch ($delta) {
case 'consultation_form':
$node = (object) array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => 'consultation', 'language' => LANGUAGE_NONE);
$form = drupal_get_form('consultation_node_form', $node);
$block['subject'] = 'Задать вопрос';
$block['content'] = drupal_render($form);
break;
}
return $block;
}
Но форма не выводится, вылазит куча ошибок.
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'node_form' not found or invalid function name в функции drupal_retrieve_form() (строка 795 в файле /home/vic/sites/dima.ru/includes/form.inc).
Notice: Undefined index: #node в функции menu_form_node_form_alter() (строка 629 в файле /home/vic/sites/dima.ru/modules/menu/menu.module).
Notice: Trying to get property of non-object в функции menu_form_node_form_alter() (строка 629 в файле /home/vic/sites/dima.ru/modules/menu/menu.module).
Notice: Undefined index: #node в функции menu_form_node_form_alter() (строка 630 в файле /home/vic/sites/dima.ru/modules/menu/menu.module).
Notice: Trying to get property of non-object в функции menu_form_node_form_alter() (строка 630 в файле /home/vic/sites/dima.ru/modules/menu/menu.module).
Notice: Undefined index: node в функции pathauto_form_node_form_alter() (строка 463 в файле /home/vic/sites/dima.ru/sites/all/modules/pathauto/pathauto.module).
Notice: Trying to get property of non-object в функции pathauto_form_node_form_alter() (строка 464 в файле /home/vic/sites/dima.ru/sites/all/modules/pathauto/pathauto.module).
EntityMalformedException: Отсутствует связующее свойство у сущности типа node. в функции entity_extract_ids() (строка 7539 в файле /home/vic/sites/dima.ru/includes/common.inc).
Как правильно вывести форму добавления ноды в блоке?
Комментарии
global $user;
$block = array();
switch ($delta) {
case 'consultation_form':
module_load_include('inc', 'node', 'node.pages');
$node = (object) array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => 'consultation', 'language' => LANGUAGE_NONE);
$form = drupal_get_form('consultation_node_form', $node);
$block['subject'] = 'Задать вопрос';
$block['content'] = drupal_render($form);
break;
}
return $block;
}
чото белый экарн. когда в свой модуль этовствляешь
<?php
global $user;
module_load_include('inc', 'node', 'node.pages');
$node = (object) array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => 'resume', 'language' => LANGUAGE_NONE);
$form = drupal_get_form('resume_node_form', $node);
$block = drupal_render($form);
print_r($block);
?>
работает. спасибо.