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

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

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

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

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

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

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

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

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

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

Июнь 6, 2019 г.

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

Читать

Использование cache API Drupal 7

Май 14, 2019 г.

Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования. Пример логики использования/создания элемента кеша [crayon-693c998b6d4e2102573479/] Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). ...

Читать

Проблемы загрузки скриптов в параграфах Drupal 7

Март 22, 2021 г.

Проявляется как не прогружающиеся wysiwyg редактор (ckeditor, например) или элементы поля, обрабатываемые модулем media, при добавлении параграфа (entity модуля parapraphs). Это по-крайней мере два примера с которыми я лично сам сталкивался. Характерно, ...

Читать

Ошибка запуска Cron в Drupal 7

Апрель 16, 2020 г.

Если запуск Cron в Drupal 7 постоянно выдаёт такую ошибку - "Cron run failed.", как исправить ситуацию? Подобная статья у меня уже была, но посвященная аналогичной проблеме в Drupal 6. Решение точно такое же - нужно удалить из базы данных ...

Читать
 

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

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



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