Drupal - изменение типа поля формы с радио на флажки - PullRequest
1 голос
/ 15 апреля 2019

В настоящее время я работаю над проектом 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(), он возвращает мне пустой массив.

Любая помощь будет высоко ценится!

...