3

我有一个出现在内容类型“工作”块中的网络表单。我正在尝试从节点获取两个字段到 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 行)。

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

4

2 回答 2

1

稍微修修补补一下,我就明白了(感谢 Muhammad Reda 为我指明了正确的方向)。

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

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

于 2012-04-26T19:14:38.250 回答
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'];

希望这会有所帮助……穆罕默德。

于 2012-04-26T09:41:20.720 回答