2011-12-27 76 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」,所以它產生了這些警告。

所以該函數必須在我的情況