【发布时间】:2010-04-13 12:58:48
【问题描述】:
我试图让 drupal_get_form('ccknode_node_form') 工作,但没有打印。
例如,我已经尝试过 drupal_get_form('user_register'),并且有效。
我确定这是一个非常简单的问题,但我真的需要一些帮助。
谢谢
/安德斯
【问题讨论】:
我试图让 drupal_get_form('ccknode_node_form') 工作,但没有打印。
例如,我已经尝试过 drupal_get_form('user_register'),并且有效。
我确定这是一个非常简单的问题,但我真的需要一些帮助。
谢谢
/安德斯
【问题讨论】:
node_form 位于node.pages.inc,这是您所缺少的。如果你添加
module_load_include('inc', 'node', 'node.pages');
应该可以解决它。
【讨论】:
我也遇到了 drupal_get_form 的问题,但下面的代码将返回表单 html。问题区域可能没有调用正确的 node_form。
函数 get_author_form() { //返回node_form(NULL,NULL); //return drupal_get_form('author_form'); 返回 author_ajax_form('author'); } 功能 author_ajax_form($type) { 全局$用户; module_load_include('inc', 'node', 'node.pages'); $types = node_get_types(); $type = isset($type) ? str_replace('-', '_', $type) : NULL; // 如果已指定节点类型,则验证其存在。 if (isset($types[$type]) && node_access('create', $type)) { // 初始化设置: $node = array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => $type, '语言' => 'bbb','bbb' => 'TRUE'); $output = drupal_get_form($type .'_node_form', $node); } 返回$输出; }【讨论】:
嗨@andersandersson666,
正如@googletorp 所说,您需要按照他们所说的那样包含来自节点模块的 node.pages:
module_load_include('inc', 'node', 'node.pages');
然后,你需要使用 Drupal 7 中的一个新函数来获取表单:
$theFormHTMLified = drupal_render(node_add("ccknode"));
现在您可以打印或返回$theFormHTMLified。
希望对你有帮助
【讨论】: