Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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 Drupal-将表单字段类型从radio更改为复选框_Php_Drupal_Drupal 8_Drupal Modules - Fatal编程技术网

Php Drupal-将表单字段类型从radio更改为复选框

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->

目前我正在从事Drupal8项目。我必须将现有表单字段类型从单选(单选)更改为多选(复选框)

我已经改变了

$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();