Drupal 7:webform中的节点字段

时间:2012-04-26 01:43:29

标签: php drupal drupal-7 drupal-modules drupal-webform

我有一个网页格式,显示在内容类型“作业”的块中。我试图从节点获取两个字段到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'];  
    }  }
}  

但是,我收到了这个错误:

注意:未定义的偏移量:webform_nodevalues_form_alter()中的0(/drup/sites/all/modules/webform_nodevalues/webform_nodevalues.module的第35行)。

有关如何在网络表单提交中获取电子邮件字段的任何想法?

2 个答案:

答案 0 :(得分: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'];

希望这有帮助......穆罕默德。

答案 1 :(得分:1)

稍微修补一下,我想出来了(感谢Muhammad Reda指出我正确的方向)。

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

我是Devel的新手,但看着负载,然后将每个级别放在括号中似乎都有效。