Php D7:使用hook\u form\u alter时未保存字段API字段
我用FieldAPI创建了以下字段(作为一个示例),非常有用。由于我想添加自动完成功能(已经开始工作,此处未显示)以及从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
$\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,
);