В настоящее время я работаю над проектом Drupal 8.Мне нужно изменить существующий тип поля формы с одного одиночного выбора (радио) на множественный выбор (флажки).
Я изменил ниже
$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,
];
на
$form['job_type'] = [
'#type' => 'checkboxes',
'#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_state->getValue('job_type')
печатает правильный выбор, но когда я получаю значение с помощью $profile->get('field_job_type')->getValue()
, он возвращает мне пустой массив.
Любая помощь будет высоко ценится!