Рейтинг:0

html Форма внутри блока

флаг eg

У меня есть форма в пользовательском блоке в drupal 8, и я знаю, что это неправильный метод для написания формы в блоке, но кто-то написал это, и я пытаюсь исправить это, не меняя метод. В возвращении построение публичной функции() , он отобразил html формы в разметке.

 возвращаемый массив(
      '#markup' => '<форма>
//у нас здесь много входных данных
//тогда в конце:       
 <input type="hidden" name="form_id" value="country_language_form">
  <div class="yellow"><a class="btn button button--primary js-form-submit form-submit" id="edit-submit--2">'.t("Отправить").'< /а> </дел>
</форма>',

Мне было интересно, как работает этот код (форма фактически отправляется), когда пользователь является анонимным, и он не работает (нажатие на кнопку «Отправить» ничего не делает), когда пользователь вошел в систему как администратор.

Kevin avatar
флаг in
Честно говоря, вам лучше написать это с помощью формы API и вызвать ее из блока.
Рейтинг:3
флаг de

Мое первое предположение было бы неправильным таргетингом кнопки отправки, когда пользователь вошел в систему (имейте в виду, что Drupal добавляет много элементов в DOM при входе в систему).

Тем не менее, я настоятельно рекомендую вам использовать правильный метод и создавать форму с API формы. Ваш код сборки блока будет выглядеть так:

  общедоступная функция сборки () {
    $form = \Drupal::formBuilder()->getForm('Drupal\имя_вашего_модуля\Form\YourForm');
    $сборка['контент'] = $форма;
    вернуть $сборку;
  }

И весь ваш код, связанный с формой, будет в файле YourForm.php.

Mira chalak avatar
флаг eg
Спасибо ууу!!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.