Формирование одиночного чекбокса в Drupal 7 Webform

В Webform для Drupal 7 нет отдельного типа элемента, который отвечал бы за одиночный чекбокс. Если возникает задача добавить в форму знакомую всем галочку «Согласие на обработку персональных данных», то стандартного решения в виде поля checkbox вы не найдёте.

Чекбокс в конструеторе webform реализуется использованием элемента типа Select (элементы списка), который необходимо настроить особым образом, чтобы он преобразовался в одиночный чекбокс.

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

Ключевой этап — включение возможности множественного выбора. Без этого, Webform стремится отобразить его как радиобаттон. Если же указать, что для него допускаются множественные значения, то элемент будет отрендерён уже в виде чекбокса. Именно эта настройка превращает элемент в одиночную галочку.

В настройках отображения отключают все дополнительные галочки в группе «Отображение» и указывают, что метка поля не должна выводиться — для этого в параметре Label display выбирают «No». Поле в таком виде остаётся без внешней надписи, а пользователю показывается только сама галочка с текстом из добавленной строки параметров.

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

Такой подход позволяет надёжно сформировать одиночный чекбокс в Drupal 7 Webform, используя лишь стандартные средства модуля и без подключения сторонних расширений.

Мало букафф? Читайте есчо !

Еще один пример работы с EntityFieldQuery

Декабрь 23, 2020 г.

Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference. Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...

Читать

Drupal API функции для работы с таксономией

Октябрь 12, 2018 г.

Drupal 7 поддерживает работу с таксономией на уровне ядра (модуль taxonomy), предоставляя богатый арсенал функций. Здесь мы рассмотрим только функции, ...

Читать

Добавление условий во views программно

Март 31, 2019 г.

Модуль Views - мощный инструмент в копилке друпалера. Конструктор позволяет создавать условия, перекрывающие большую часть потребностей в практических ...

Читать

Создать пользователя сразу на всех сайтах мультисайтинга в Drupal

Июнь 6, 2019 г.

С помощью drush и такой то матери (bash) обойдем все сайты и создадим одного и того же юзера на каждом из сайтов. Долго тянуть не стану - вот текст скрипта: [crayon-6aeac1faf0407357783136/] В начале вы задаёте нужные переменные (задайте свои ...

Читать
 

Комментарии к «Формирование одиночного чекбокса в Drupal 7 Webform»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: