2011-12-27 37 views
1

我制作了一个自定义模块,它工作正常,直到我开始处理我的自定义主题。警告:在Drupal 7中缺少customvishal_form()的参数2:

一旦我动过我的自定义主题,我得到这个错误

警告:缺少论据2 customvishal_form(),称为 /家庭/维沙尔/ Dropbox的/网站/新/包括/主题。公司在customvisual_form()中定义的第1029行和第 行( /home/vishal/Dropbox/sites/new/sites/all/modules/customvishal/customvishal.module的第441行)。

你可以看到错误:http://www.iamvishal.com/dev/about-us

我觉得没有什么是错我的代码:

/** 
* A simple form. 
*/ 
function customvishal_form($form, &$form_submit) { 
$form['customvishalactivate'] = array(
'#title' => t('Activate Preference'), 
'#type' => 'radios', 
'#options' => array('1' => t('Yes'), '0' => t('No')), 
'#required' => TRUE, 
); 
return $form; 
} 

其从

function customvishal_pref($arg1) 
{ 
// Here we willl make the form and save the data so when cron 
// runs we will check the users preference 
$build = array(
'header_text' => array(
    '#type' => 'markup', 
    '#markup' => '<p>' . t('This page is where you add your preferences. Based on your  
    entered choices we will send you alerts ') . '</p>', 
), 
'example_form' => drupal_get_form('customvishal_form'), 
); 
return $build; 

} 

称为可能是什么造成这个问题?

干杯, 维沙尔

+0

我试过很多主题和无法复制这个问题被称为"skupina_statistics_form。所以这似乎是一个主题问题,但我似乎无法解决它 – 2011-12-27 09:02:23

回答

2

当表单函数被调用被发送给它的唯一的参数是可变的形式。由于你的第二个函数参数没有默认值,它显然会产生一个警告。

如果您从不在功能代码中使用它,您可能会考虑将其删除或提供默认值。

例如为:

function customvishal_form($form, &$form_submit = NULL) 

,或者你可能会考虑通过额外的参数。你可以这样做:

drupal_get_form('customvishal_form', $some_your_parameter); 
1

我想我知道答案。我有同样的问题。

您的模块是否完全按照您的自定义主题命名?我的是,我改变了我的主题名称和错误走了

3

我有同样的问题

我叫hook_form这样的:

/** 
* Implements of hook_menu(). 
*/ 
function skupina_menu() { 
    $items = array(); 
    $items['admin/config/people/skupina'] = array(
    'title' => 'Skupiny odborníkov', 
    'description' => 'Prehľady návštev odborníkov', 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('skupina_statistics'), 
    'access arguments' => array('view statistics'), 
    'file' => 'admin.inc', 
    'file path' => drupal_get_path('module', 'skupina'), 
    'weight' => 1, 
);  
    return $items; 
} 

然后

/** 
* Prehlad navstev odbornikov - page 
*/ 
function skupina_statistics($form, &$form_state) { 

    $form = array(); 
    $form['skupina_obdobie'] = array(
     '#type' => 'select', 
     '#title' => t('Zmeniť zobrazenie'), 
     '#options' => skupina_get_zobrazenia(), 
     '#description' => t('Zmení filtrovanie dát podľa zvolenej možnosti.'), 
     '#required' => FALSE, 
); 
    return $form; 

} 

我的问题是,该函数名称中没有“_form”,所以它产生了这些警告。

所以该函数必须在我的情况