Php Drupal-将表单字段类型从radio更改为复选框
目前我正在从事Drupal8项目。我必须将现有表单字段类型从单选(单选)更改为多选(复选框) 我已经改变了Php Drupal-将表单字段类型从radio更改为复选框,php,drupal,drupal-8,drupal-modules,Php,Drupal,Drupal 8,Drupal Modules,目前我正在从事Drupal8项目。我必须将现有表单字段类型从单选(单选)更改为多选(复选框) 我已经改变了 $form['job_type'] = [ '#type' => 'radio', '#title' => $this->t('I am looking for'), '#options' => [ 'Full-time' => $this->t('Full Time'), 'Part-time' => $this->
$form['job_type'] = [
'#type' => 'radio',
'#title' => $this->t('I am looking for'),
'#options' => [
'Full-time' => $this->t('Full Time'),
'Part-time' => $this->t('Part Time'),
'Casual' => $this->t('Casual'),
'All-of-the-above'=>$this->t('All of the above')
],
'#weight' => '0',
'#required'=>true,
];
到
这就是保存代码的方式
$profile->set('field_job_type', $form_state->getValue('job_type'));
$profile->save();
提交表单时,$form\u state->getValue('job\u type')
打印正确的选择,但当我使用$profile->get('field\u job\u type')->getValue()获取值时,它返回空数组
任何帮助都将不胜感激 我能想到的唯一一件事是,当您将值保存到$profile
时,$form\u state->getValue('job\u type')
是空的-您是否检查过它是否在保存到$profile
时返回值?$profile
节点是否确实有一个名为字段作业类型
的字段?最好知道“字段作业类型”是什么类型的。我能想到的一件事是,字段“field\u job\u type”的类型在关键字段值设置中甚至有(“全职”、“兼职”、“临时”、“以上所有”)。如果“field\u job\u type”是引用,则必须使用“target\u id”键应用该值。“field\u job\u type”存储在field\u job\u type\u value
列的表中<代码>字段\作业\类型\值
是VARCHAR(255)
如果我在保存之前打印$form\u state->getValue('job\u type')
,我可以确认我可以看到数据。我唯一能想到的是$form\u state->getValue('job\u type'))当您将值保存到$profile
时,
为空-您是否检查了它是否在保存到$profile
时返回值?$profile
节点是否确实有一个名为字段作业类型
的字段?最好知道“字段作业类型”是什么类型的。我能想到的一件事是,字段“field\u job\u type”的类型在关键字段值设置中甚至有(“全职”、“兼职”、“临时”、“以上所有”)。如果“field\u job\u type”是引用,则必须使用“target\u id”键应用该值。“field\u job\u type”存储在field\u job\u type\u value
列的表中<代码>字段\u作业类型\u值
为VARCHAR(255)
如果我在保存前打印$form\u state->getValue('job\u type')
,我可以确认我可以看到数据。
$profile->set('field_job_type', $form_state->getValue('job_type'));
$profile->save();