Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php D7:使用hook\u form\u alter时未保存字段API字段_Php_Drupal_Drupal 7_Form Api_Drupal Field Api - Fatal编程技术网

Php D7:使用hook\u form\u alter时未保存字段API字段

Php D7:使用hook\u form\u alter时未保存字段API字段,php,drupal,drupal-7,form-api,drupal-field-api,Php,Drupal,Drupal 7,Form Api,Drupal Field Api,我用FieldAPI创建了以下字段(作为一个示例),非常有用。由于我想添加自动完成功能(已经开始工作,此处未显示)以及从$\u POST变量中设置默认值,我开始使用hook\u form\u alter更改字段 更改字段就像一个符咒,但是字段将不再保存到节点,甚至出现在节点编辑表单中的不同位置 答案是由真棒的drupal chanel给我的(谢谢@graper=) 问题是: $form['field_assigned_license'] = array( '#title' =&g

我用FieldAPI创建了以下字段(作为一个示例),非常有用。由于我想添加自动完成功能(已经开始工作,此处未显示)以及从
$\u POST
变量中设置默认值,我开始使用
hook\u form\u alter
更改字段

更改字段就像一个符咒,但是字段将不再保存到节点,甚至出现在节点编辑表单中的不同位置


答案是由真棒的drupal chanel给我的(谢谢@graper=)

问题是:

$form['field_assigned_license'] = array(
        '#title' => t('Assigned Licence'),
        '#type' => 'textfield',
        '#default_value' => ($_REQUEST['lid']) ? $_REQUEST['lid']: '',
        '#required' => ($_REQUEST['lid']) ? 1:0,
      );
基本上会覆盖
$form['field\u assigned\u license']
中保存的所有内容。正确的方法是只覆盖我想要的特定参数,例如,
$form['field\u assigned\u customer']['und'][0]['value']['\default\u value']
或将原始数组与调整合并

$form['field_assigned_license'] = array(
        '#title' => t('Assigned Licence'),
        '#type' => 'textfield',
        '#default_value' => ($_REQUEST['lid']) ? $_REQUEST['lid']: '',
        '#required' => ($_REQUEST['lid']) ? 1:0,
      );