как добавить новую строчку в Kartik TabularForm?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
t9221823420
Сообщения: 37
Зарегистрирован: 2017.08.23, 10:52
Контактная информация:

как добавить новую строчку в Kartik TabularForm?

Сообщение t9221823420 »

Я так полагаю, что вопрос старый и давно уже решен - но ткните пождалуйста носом - Гугл видимо меня недопонимает, чего я хочу.

есть список моделей, который выводится через виджет Kartik TabularForm. Нужно добавить новую строчку, т.е. к существующему списку моделей, необходимо добавить новую несохраненную модель. Я это вижу это примерно так:

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

поэтому думаю в этом Dataprovider-е запустить событие и вынести все во внешний контроллер.

плюсы/минусы/решение?

кстати я чуть ниже создал тред с вопросом, почему событийно-ориентированное программирование в Yii2 отсуствует (то что есть - это кошкины слезы). Приходится ваять нереальные костыли и копипастить родительский код, чтобы исправить элементарную вещь.
Ищу работу: https://goo.gl/WuGz1q
GitHub: https://goo.gl/2XAqy5
Резюме на HH (рус):https://goo.gl/Ay3YmC
Резюме на HH (eng):https://goo.gl/gxyd1X

Стоимость работ: от $25 час

тел/vbr/wsp: 79221236438
skype/tlgrm: t9221823420
email: t9221823420@gmail.com
Аватара пользователя
t9221823420
Сообщения: 37
Зарегистрирован: 2017.08.23, 10:52
Контактная информация:

Re: как добавить новую строчку в Kartik TabularForm?

Сообщение t9221823420 »

а почему ответ про декоратор удалили? В общем-то как вариант можно рассматривать ....
Ищу работу: https://goo.gl/WuGz1q
GitHub: https://goo.gl/2XAqy5
Резюме на HH (рус):https://goo.gl/Ay3YmC
Резюме на HH (eng):https://goo.gl/gxyd1X

Стоимость работ: от $25 час

тел/vbr/wsp: 79221236438
skype/tlgrm: t9221823420
email: t9221823420@gmail.com
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: как добавить новую строчку в Kartik TabularForm?

Сообщение ElisDN »

Сделайте декоратор провайдера, который а контроллере будет подмешивать строки в getModels():

Код: Выделить всё

$dataProvider = new MergedDataProvider($dataProvider, [$newModel]);
Ответить