Рейтинг:0

Невозможно программно отобразить веб-форму с помощью CAPTCHA

флаг ng

Наш веб-сайт имеет собственный маршрут с контроллером, отображающим пользовательскую веб-форму. Это необходимо, так как в форме есть несколько скрытых полей, которые необходимо предварительно заполнить.

Теперь я хотел бы добавить модуль CAPTCHA в веб-форму. При включении CAPTCHA для контактной формы Drupal по умолчанию и просмотре ее в режиме инкогнито все работает хорошо. CAPTCHA появляется.

Но при добавлении элемента CAPTCHA в пользовательскую форму он вообще не отображается.

Я пробовал несколько способов встроить форму, но никто не работает:

  • Встроить как объект веб-формы (используя получить форму отправки (..))
  • Встроить как объект веб-формы (используя getViewBuilder('веб-форма'))
  • Встроить как массив рендеринга с веб-формой нового типа элемента

Был бы рад получить любую информацию о том, что здесь не так?

sonfd avatar
флаг in
Есть ли ошибки JS в консоли? Элемент отображается на странице, но не виден (т.е.в исходнике HTML)? Отображается ли CAPTCHA при обычном рендеринге веб-формы и сбой только на вашем пользовательском маршруте при программном рендеринге веб-формы?
david avatar
флаг ng
@sonfd нет, ошибок JS нет. В исходнике HTML также нет ничего, связанного с CAPTCHA. Я совершенно уверен, что проблема на стороне Drupal/backend. Теперь я также создал стандартную страницу, которая включает в себя веб-форму. И нет, de CAPTCHA там тоже не отображается. Вместо этого при выборе стандартной контактной формы она работает.
Joehoe avatar
флаг tr
Вы посещаете пользовательскую форму анонимно?
Alireza Tabatabaeian avatar
флаг cn
как вы прикрепили капчу к своей пользовательской форме?
david avatar
флаг ng
@Joehoe да, см. мой вопрос выше - я просматриваю его в «режиме инкогнито». Стандартная контактная форма работает так, а пользовательская — нет.
david avatar
флаг ng
@AlirezaTabatabaeian Я пробовал оба способа: 1. добавление элемента CAPTCHA в режиме редактирования формы и 2. добавление его через настройки модуля CAPTCHA, назначив его по умолчанию для типа узла формы.
Рейтинг:0
флаг ng

Оказалось есть обычай ветка шаблон в теме, специально перезаписывая только эту форму. В этом шаблоне отображаются только некоторые определенные элементы формы:

/web/themes/custom/some_theme/templates/webfom/webform--course-registration.html.twig

Сначала это не было видно, потому что другие шаблоны, связанные с этой реализацией пользовательской формы, находятся в модуле пользовательской формы.

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

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