who are you
не пойму почему я нулл поставил а лайаут все равно лезет
who are you
или нулл это по умолчанию у него ))))
Niko
именно (нет)
who are you
другая проблема нарисовалась. джава скрипт постоянно прибавляет к page +1 а yii2 пагинация всегда отдает последнюю страницу даже если page=1000000
who are you
получается подгрузка зацикленной последней странички 👀
who are you
http://shot.hsdn.org/H7L2xYci
who are you
чо придумать то с этим ? 😄
Dmitry
чо придумать то с этим ? 😄
посмотри что в скрипт приходит
who are you
последняя страница
who are you
постоянно
who are you
даже если page=50000000000000
Dmitry
ну так значит ты не правильно страницу передаешь?
Anonymous
ты же знаешь, что пагинация у йии начинает отсчёт с 0.
who are you
джаваскрипт запрашивает урл пейдж +1
who are you
джаваскрипт не знает сколько там страниц всего
Dmitry
в скрипт верная страница приходит?
who are you
да
Dmitry
т.е. запрос верно отрабатывает ?
who are you
просто безконечная последняя страница если ты даже вручную укажешь page=500000000
who are you
djn gjghj,eq e ct,z
who are you
попробуй у себя
who are you
чо он вернет что такой страницы нет ?
Dmitry
ну ты посмотри какой у тебя запрос формируется
who are you
http://yiipowered.com/ru/projects?page=200000000000000000000
who are you
вот тебе пример
who are you
вот какого хера оно выводит
who are you
оно должно легнуть нафиг )))
who are you
а оно будет выводить бесконечно
who are you
сделай страницу и ссылки на этот сайт через цикл до миллиона с разными пагами. и гуглу скорми. гугл будет все это качать до потери сознания а потом выведет тебе в консоли что у тебя миллион страниц одинаковых 😂
who are you
по идее оно должно ошибку выбросить что такой страницы нет
The Ant
по идее оно должно ошибку выбросить что такой страницы нет
это да, костылить пришлось чтобы сделать
Dmitry
по идеи null должно вернуть
Dmitry
а как ты запрашиваешь?
The Ant
дата провайдер же возвращает, а в виджете нет 404-й
The Ant
для пагинашки... очко в общем
who are you
а как ты запрашиваешь?
джава скрипт делает page++
who are you
как то в контроллере надо делать проверку
Dmitry
в скрипте через Pagination делаешь?
who are you
getPageCount с этим сравнивать
who are you
в скрипте через Pagination делаешь?
public function actionWorksPages() { $this->layout = false; $query = Gallery::find()->orderBy('date DESC'); $countQuery = clone $query; $pages = new Pagination([ 'totalCount' => $countQuery->count(), 'pageSize'=> 4, 'pageSizeParam' => false, ]); $models = $query->offset($pages->offset) ->limit($pages->limit) ->all(); return $this->render('works-pages', [ 'models' => $models, 'pages' => $pages, ]); }
who are you
как тут прикрутить проверку с getPageCount ?
who are you
чтобы если page=овер другое содержимое вывести
The Ant
с этой хуйней тяжко сортировки делать
Dmitry
а попробуй задай страницу напрямую $pages->setPage(10000);
who are you
Dmitry
надо короче самому страницу задавать
Dmitry
тогда норм будет
Dmitry
иначе она пытается автоматом ее найти и привести к максималке
The Ant
$this->layout = false; это типа для аякса?
The Ant
пиздец )
who are you
пиздец )
😂 чооо. нормас же
Dmitry
😂 чооо. нормас же
есть же renderPartial
The Ant
😂 чооо. нормас же
http://www.yiiframework.com/doc-2.0/yii-web-view.html#renderAjax()-detail
Yevhenii
Здраствуйте: как сделать миграцию БД с mysql to postgres?
The Ant
if ($this->request->isAjax()) { return $this->renderAjax('works-pages', [ 'models' => $models, 'pages' => $pages, ]); }
who are you
if ($page > $pages->getPageCount()) { exit(); }
who are you
The Ant
$dataProvider->prepareModels(); if (empty($dataProvider->getModels())) { { throw new ContenNotForundException(); // или как он там называется } такой кастыль с дата провайдером
The Ant
хуева конешно что нет 404 обработки в гридах и виджетах всяких
who are you
if ($page > $pages->getPageCount()) { throw new NotFoundHttpException; }
who are you
вот так вроде лучше пашет, аджакс убиваеца
The Ant
if ($page > $pages->getPageCount()) { throw new NotFoundHttpException; }
с офсетом очко если нужны сортировки. Оч много лишнего мусора начинает отрпавляться в шаблон
The Ant
лучше сразу избегать этого
Dmitry
вот так вроде лучше пашет, аджакс убиваеца
а скижи вот, нафиг тебе тем пагинация, когда ты можешь прямиком из скрипта передавать offset ?
Dmitry
мне надо было как можно проще сделать
вот с прямой передачей offset и проще и гибче
Dmitry
ты кол-во строк можешь из js менять
who are you
ну может потом перепилю ( просто сроки горят нужно уже чтобы хоть как то работало а то меня укакошат
Dmitry
ну так напиши просто $query->offset($_Get['offset']) ->limit($_Get['limit']) ->all(); .// это для нагляности это все что у тебя в методе останется
Dmitry
а что с ним?
Dmitry
у меня работает
Dmitry
скрытая реклама детектед )))
(;¬_¬)
та пф
who are you
http://shot.hsdn.org/i87verkj
who are you
😂