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

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


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

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

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

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

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

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

share via vkontakte share via facebook share via mailru share via odnoklassniki share via twitter

Комментарии [2]

[Александр] 29 сент. 2016 г., 19:21:58

Я ничего не понял) Как его подключить то? Вроде дошёл до того момента, что полей у меня стало много, но при сохранении, получаю добавление строк в ту таблицу, в которой храняться все остальные поля. Да и страница перезагружается.

Администратор [BUPY7] 29 сент. 2016 г., 21:20:13

Показывай код. Вроде, все понятно в документации должно быть.