2012-04-26 94 views
3

我有一個網絡表單出現在內容類型'工作'的塊上。我試圖從節點獲取兩個字段到Webform提交。我有這樣的自定義模塊:Drupal 7:網絡表單中的節點字段

function webform_nodevalues_form_alter(&$form, $form_state, $form_id) { 
    // 1. Webform ID 
    if ($form_id == 'webform_client_form_237') { 
    if ($node = menu_get_object()) { 
     // 2. Webform field for the node title 
     $form['submitted']['title']['#value'] = $node->title; 
     // 3. Webform field for a CCK field 
     $form['submitted']['email']['#value'] = $node->field_email[0]['value']; 
    } } 
} 

不過,我得到這個錯誤:

注意:未定義抵消:在webform_nodevalues_form_alter 0()(行35/drup /網站/所有/模塊/ webform_nodevalues /webform_nodevalues.module)。

有關如何獲取webform提交中的電子郵件字段的任何想法?

+0

哪一行是第35行?! – 2012-04-26 08:27:51

回答

1

我想是因爲以下行的這個錯誤:

// ERROR HERE... 
$form['submitted']['email']['#value'] = $node->field_email[0]['value']; 

這應該是這樣的:

$form['submitted']['email']['#value'] = $node->field_email['und'][0]['value']; 

OR:

$form['submitted']['email']['#value'] = $node->field_email[LANGUAGE_NONE][0]['value']; 

希望這有助於...穆罕默德。

+0

這就是我的想法,但我仍然得到這個錯誤: 注意:未定義的索引:webform_nodevalues_form_alter()中的值(/drup/sites/all/modules/webform_nodevalues/webform_nodevalues.module的第35行)。 – MrPeanut 2012-04-26 19:09:15

1

多一點修補,我想出來了(感謝穆罕默德雷達指出我在正確的方向)。

$form['submitted']['email']['#value'] = $node->field_email['und'][0]['email']; 

我是Devel新手,但看着負載,然後只是把每個級別放在括號中似乎工作。

相關問題