Кастомизация шаблона формы плагина webforms

Чтобы изменить штатный макет формы webform-submission-form.html.twig, требуется имплементация своего шаблона.

Для начала определимся с именем шаблона. Список ‘suggestions’ для данного шаблона содержит в том числе webform-submission-form—[WEBFORM-ID].html.twig.

Базовый шаблон состоит всего из одной строки, которая выводит объект формы:

Объект довольно сложный, и будет полезным посмотреть какова его структура:

Как только вы создадите шаблон, можно будет заняться правками.

Для конкретики рассмотрим следующую задачу: есть набор полей webforms, как в табличке на слайде, нужно вывести их в два столбца (я использую bootstrap):

Вот, что у меня получилось:

Сначала мы выводим нужные нам поля, а в конце — form.elements без отображенныхe уже полей, и потом весь form, но без elements.

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

Реализация контроллера для списка autocomplete формы

Май 11, 2023 г.

См. основной материал для введения. Контроллер должен вернуть Json набор пар значений value - label. Ранее в модуле мы уже объявили связь для маршрутизации с нашим контроллером в файле custom_blocks.routing.yml. Теперь реализуем код. /src/Controller/ProductSearchAutoCompleteController.php ...

Читать

Как добавить css классы в attributes (twig, Drupal)

Май 16, 2024 г.

Порою требуется добавить свои классы в переменную attributes на уровне шаблона (в twig). Переменная attributes - это объект Drupal\Core\Template\Attribute. У него есть нужный нам метод - addClass(). Пример использования: [crayon-698c32db6205c815297642/]

Читать

Реализация формы поиска товаров

Май 11, 2023 г.

См. основной материал для введения. Форма в нашем случае не требует отправки/проверки данных, и реализует только два метода - getFormId и buildForm. Хотя форма и не содержит кнопки submit, но все равно будет реагировать на отправку данных, поэтому ...

Читать

Чем заменить drupal_get_path() в Drupal 9/10

Январь 9, 2024 г.

Функция считается устаревшей, начиная с версии ядра 9.3, в 10-й версии функция удалена из кода. В новом API нужно воспользоваться одним из сервисов ядра, которые реализуют нужную функцию. Сервис extension.list.module - реализует функции, связанные ...

Читать
 

Комментарии к «Кастомизация шаблона формы плагина webforms»

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



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