2012-04-26 3 views
3

У меня есть веб-форма, которая появляется в блоке по типу контента «задание». Я пытаюсь получить два поля из узла в представление веб-формы. У меня есть этот пользовательский модуль:Drupal 7: Узел полей в webform

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']; 
    } } 
} 

Однако, я получаю эту ошибку:

Примечание: Undefined смещение: 0 в webform_nodevalues_form_alter() (строка 35 из/Друп/сайты/все/модулей/webform_nodevalues /webform_nodevalues.module).

Любые мысли о том, как получить поле электронной почты в представлении веб-формы?

+0

Какая линия линии 35?! –

ответ

1

Я думаю, что эта ошибку из-за следующую строку:

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

Это должно идти, как это:

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

ИЛИ:

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

Надеется, что это помогает ... Мухаммад ,

+0

Вот что я подумал, но я до сих пор получаю эту ошибку: Примечание: Неопределенный индекс: значение в webform_nodevalues_form_alter() (строка 35 из /drup/sites/all/modules/webform_nodevalues/webform_nodevalues.module). – MrPeanut

1

Немного больше потрудился, и я понял (спасибо Мухаммаду Реде за то, что указал мне в правильном направлении).

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

Я новичок в Devel, но, глядя на нагрузку, а затем просто положить каждый уровень в скобках, казалось, работали.

Смежные вопросы