Php Drupal Drupal\u获取\u表单
我试图在一个div中获取twitter\u admin\u表单和twitter\u user\u设置表单Php Drupal Drupal\u获取\u表单,php,drupal,drupal-6,drupal-fapi,Php,Drupal,Drupal 6,Drupal Fapi,我试图在一个div中获取twitter\u admin\u表单和twitter\u user\u设置表单 /** * Get twitter form for user * @param $account * @type user object */ function getTwitterForm($account){ //module_load_include('inc', 'twitter'); module_load_all(); $twitter_form
/**
* Get twitter form for user
* @param $account
* @type user object
*/
function getTwitterForm($account){
//module_load_include('inc', 'twitter');
module_load_all();
$twitter_form = drupal_get_form('twitter_admin_form');
return $twitter_form;
}
我遇到了一个drupal错误
警告:call\u user\u func\u array[函数.call user func数组]:第一个参数应该是有效的回调,“twitter\u admin\u form”在第372行的…/includes/form.inc中给出
twitter.module
/**
* Implementation of hook_meu()
*/
function twitter_menu() {
$items = array();
$items['admin/settings/twitter'] = array(
'title' => 'Twitter setup',
'description' => 'Twitter module settings',
'page callback' => 'drupal_get_form',
'page arguments' => array('twitter_admin_form'),
'access arguments' => array('administer site configuration'),
'file' => 'twitter.pages.inc'
);
$items['user/%user_category/edit/twitter'] = array(
'title' => 'Twitter accounts',
'page callback' => 'twitter_user_settings',
'page arguments' => array(1),
'access arguments' => array('add twitter accounts'),
'load arguments' => array('%map', '%index'),
'weight' => 10,
'file' => 'twitter.pages.inc',
'type' => MENU_LOCAL_TASK,
);
return $items;
}
我不确定我做错了什么。twitter_admin_表单没有任何参数,因此我认为获取和显示它会很简单
我是新表单/菜单,所以我不能100%确定%user\u category、%map和%index是什么,以及如何传递它们
您如何知道有效的表单是什么?当您调用drupal\u get\u表单时,您提供一个表单id,这是drupal需要调用的函数。您遇到的问题是Drupal找不到函数:twitter\u admin\u form
它位于包含文件中,您需要包含它,或者您已将其命名为其他名称。您收到的错误源于以下行:
$twitter_form = drupal_get_form('twitter_admin_form');
它希望“twitter\u admin\u form”是一个有效的回调函数,但找不到它。这可能是因为打电话时不包括相关文件“twitter.pages.inc”
您可以通过以下方式解决此问题:
module_load_include('inc', 'twitter', 'twitter.pages');
考虑到代码示例中的注释行,您似乎尝试过类似的操作,但忘记了提供要包含的文件名。感谢您的快速响应:它位于twitter.pages.inc中,我尝试了module_load_include'inc'、“twitter”和module_load_all.Oups-在发布我的内容时没有注意到这个答案。将我的解释留给另一个/扩展的解释,但这是正确的,而且是第一个+1@JamesBayliss:检查我的类似答案,了解module_load_include.WOW的正确用法,这很有效,我可以包含twitter_admin_表单。谢谢:我真的很感谢。谢谢,我在一个核心模块上也使用了这个。我不想在一个“块”中使用它,所以我只是在page.tpl.php文件上首先使用HO实现来测试,它工作得非常完美。fwiw,我在drupal 6模块中的tracker.module上使用了它。Thx-HO!