Реализация блока с внедрением формы

См. основной материал для введения.

В имплементации блока требуется сформировать набор переменных и передать его в шаблон.

Шаблон был ранее объявлен в основном файле модуля, исходя из макета.

В макете присутствуют две надписи (title и subtitle), а также форма. Форму я создал на базе Drupal\Core\Form\FormBase.

/src/Plugin/Block/SearchGoodsBlock.php

Для общей картины приведу и код шаблона.

Здесь вы увидите подключение библиотеки, которую я объявлял ранее в модуле.

/templates/search-form-for-goods.html.twig

Код JS библиотеки.

/libs/product-search-autocomplete.js

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

Управление размерами autocomplete ui widget в Drupal

Октябрь 25, 2023 г.

Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен. Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...

Читать

Получение и рендеринг списка дочерних терминов в Drupal

Апрель 27, 2023 г.

Небольшой примера кода для работы с таксономией в Drupal 10. Мы запросим дерево дочерних терминов и произведем их рендеринг. Для начала загрузим какой-либо термин [crayon-6a37a979524d6490928110/] Следующий шаг - получение дочерних элементов ...

Читать

Используем токены для доступа к полям параграфов в Drupal

Май 2, 2024 г.

Пара примеров о том, как вытащить нужную инфу из параграфов, используя токены. Обычно это нужно для генерации meta заголовков страницы. У вас есть node, в которой вы создали поле field_myfield с entity_reference: paragrpahs. Самое простое, ...

Читать

Чем заменить file_create_url в Drupal 9/10

Январь 9, 2024 г.

Функция file_create_url устаревает, начиная с версии 9.3, а в 10й версии она уже отсутствует. Документация предлагает воспользоваться реализацией интерфейса \Drupal\Core\File\FileUrlGeneratorInterface, чтобы заместить устаревающую функцию в вашем ...

Читать
 

Комментарии к «Реализация блока с внедрением формы»

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



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