Как создать поле ссылки на сущность, которое позволит неограниченные значения в форме конфигурации?

  public function buildForm(array $form, FormStateInterface $form_state) {
          $form = parent::buildForm($form, $form_state);
          $config = $this->config('category_dynamic_block.settings');

          $form['section_title'] = array(
            '#type' => 'textfield',
            '#title' => $this->t('Section Title'),
            '#description' => $this->t('Enter a Section Title'),
          );

          $form['term_name'] = array(
            '#type' => 'entity_autocomplete',
            '#target_type' => 'taxonomy_term',
            '#selection_settings' => [
                 'target_bundles' => array('categories'),
            ],
            '#title' => $this->t('Term Name'),
              '#description' => $this->t('Enter a Category Vocab Term Name'),
          );

          $form['page_title'] = array(
            '#type' => 'entity_autocomplete',
            '#target_type' => 'node',
            '#selection_settings' => [
                'target_bundles' => array('article'),
            ],
            '#title' => $this->t('Page Title (' . $i . ')'),
            '#description' => $this->t('Enter Page Title to be displayed'),
          );

          return $form;}

Я создаю форму конфигурации и пытаюсь выяснить, есть ли способ в drupal 8, который позволит пользователю вводить несколько значений в поле $form['page_title'].

1 ответ

Этот вопрос (неограниченные текстовые поля с формой API) может быть тем, что вы ищете: https://drupal.stackexchange.com/questions/208012/unlimited-textfields-with-form-api

В основном вам нужно будет добавить немного ajax:

'#ajax' => [
  'callback' => array($this, 'addMultipleItems'),
  'event' => 'change',
  'progress' => array(
    'type' => 'throbber',
    'message' => t('Adding another item...'),
  ),
],
Другие вопросы по тегам