我有一个网页格式,显示在内容类型“作业”的块中。我试图从节点获取两个字段到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行)。
有关如何在网络表单提交中获取电子邮件字段的任何想法?
答案 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的新手,但看着负载,然后将每个级别放在括号中似乎都有效。