Ми}{алы4

Блог хеллоуворлдщика

Виджет для работы с динамическими полями для Yii2

29.03.2015 yii2, widget, динамические поля

Привет, читатель! Сегодня я поделюсь с тобой своим новым расширением для работы с динамическими полями, или, по правильному говоря, множественными моделями.

Не так часто, но всё же, приходится иногда добавлять возможность работы с множественным вариантом полей. К примеру, место учебы. Человек мог обучаться не в одном месте, поэтому, приходится предоставлять возможность добавления еще одного место обучения, потом еще одного и т.д. до бесконечности. Здесь как раз нас и спасают динамические поля.

Я хотел написать такой расширение, которое можно использовать внутри ActiveForm, потому что экземпляр класса ActiveForm уже имеет в себе множество необходимых параметров для расширения, которые не придется самому добавлять через массив свойств в виджет. Да и потом, валидация через Javascript. Чтоб она работала, скрипт валидации должен знать, какие поля у нас имеются в наличии. Поэтому, без сомнений так и поступили.

Виджет умеет отображать поля, отправлять запросы через Ajax на добавление и удаление полей с последующим их отображением. Т.е. всё происходит без перезагрузки страницы. Спасибо Pjax! Расширение написано с использованием Pjax. Если не знакомы - почитайте.

Инструкция по установке и использованию на странице расширения: https://github.com/bupy7/yii2-dynamic-fields

Домашняя страница Pjax: https://github.com/defunkt/jquery-pjax