Страница 1 из 1

Использование PJAX+DateRangePicker

Добавлено: 2018.05.02, 10:14
dunakov
В общем смысл выводить заказы за период времени. Поставил я виджет картика https://github.com/kartik-v/yii2-date-range

Хочу чтобы по дате возвращало массив с заказами за выбранный период времени.

Можно было сделать по простому и написать простой аякс сюда:

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

"changeDate" => "туть якс" 


Но так оно вернёт js- массив. А мне бы php-шный.

Советуют использовать PJAX. Пока не понял как связать PJAX и DateRangePicker. Чтобы при изменении даты оно возвращало массив с заказми без апдейта страницы

Кто-нибудь сталкивался может с этим?

Re: Использование PJAX+DateRangePicker

Добавлено: 2018.05.02, 12:00
andku83
dunakov писал(а): 2018.05.02, 10:14 ...
Но так оно вернёт js- массив. А мне бы php-шный.
...
зачем в js массив из пхп ?!

pjax - надстройка над ajax.
Все что можно сделать при помощи pjax можно сделать и на ajax.
pjax упрощает вывод фрагмента HTML.
Если вы с сервера собираетесь возвращать данные в виде массива то pjax вам ничем не поможет.

Re: Использование PJAX+DateRangePicker

Добавлено: 2018.05.02, 12:50
dunakov
andku83 писал(а): 2018.05.02, 12:00
dunakov писал(а): 2018.05.02, 10:14 ...
Но так оно вернёт js- массив. А мне бы php-шный.
...
зачем в js массив из пхп ?!

pjax - надстройка над ajax.
Все что можно сделать при помощи pjax можно сделать и на ajax.
pjax упрощает вывод фрагмента HTML.
Если вы с сервера собираетесь возвращать данные в виде массива то pjax вам ничем не поможет.

Мне нужен пхп Массив/Объект.

Объясняю. Выбрал я дату, полетел аякс с параметрами даты.

На сервере в контроллере будет что-то

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

$model = Orders::find()
->where(['between', 'date', $par1, $par2 ])->all();


Я обратно посылаю уже массив с заказами. Но мне идеально далее работать с ним на php.

Чтобы форичем пробегаться и дерево заполнить

Re: Использование PJAX+DateRangePicker

Добавлено: 2018.05.02, 13:46
andku83
Ну и работайте с данными на сервере, а в ответ присылайте обработанные данные или готовый хтмл.
Сформулируйте более конкретно с чем у вас проблема.

Re: Использование PJAX+DateRangePicker

Добавлено: 2018.05.03, 15:06
Alexum
1) Генерируете поисковую модель к вашим заказам
2) Учите её принимать интервал дат и собирать поисковый запрос
3) Во view добавляете GridView, обёрнутый в PJAX
4) В GridView в фильтре для колонки с атрибутом даты указываете данный плагин
5) Профит.

Re: Использование PJAX+DateRangePicker

Добавлено: 2018.05.03, 16:19
dunakov
andku83 писал(а): 2018.05.02, 13:46 Ну и работайте с данными на сервере, а в ответ присылайте обработанные данные или готовый хтмл.
Сформулируйте более конкретно с чем у вас проблема.
Да я уже сделал по другому. Не так как задумал. Правда баг нашёл в виджете этом. Из-за этого бага придётся по другому переписать.

Я повесил обычный аякс по изменению поля. Отсылал две даты на сервер, на сервере брал данные у модели и возвращал JSONчик. В сакссесе переваривал его и вставлял вёрстку в блок.

Это конечно костыльно, но пока моих навыков хватает только на такой метод.