Я не могу разбить на страницы свои результаты, если я получаю к ним доступ через перенаправленный URL. Вот маршруты, которые я использую:
// NEWS
Router::connect('/news.rss', array('controller' => 'posts', 'action' => 'index', 'ext' => 'rss'));
Router::connect('/news/*', array('controller' => 'posts', 'action' => 'index'));
Router::connect('/:lang/posts/*', array('controller' => 'posts', 'action' => 'index'));
Я знаю, что на последнем маршруте я не передаю параметр: lang, но если я передам его:
Router::connect('/:lang/news/*', array('controller' => 'posts', 'action' => 'index'), array('lang' => $regex['lang'], 'pass' => array('lang')));
Это тоже не работает.
Если я попытаюсь получить доступ к url / news / page: 2, он покажет мне результаты с первой страницы. Я распечатал $ this-> params, чтобы увидеть, правильно ли он принимает номер страницы, и, в первую очередь, он делает:
Array
(
[lang] => ca
[named] => Array
(
[page] => 2
)
[pass] => Array
(
)
[controller] => posts
[action] => index
[plugin] =>
[url] => Array
(
[ext] => html
[url] => ca/posts/page:2
)
[form] => Array
(
)
[...]
)
Эта часть массива (я пропустил некоторые части, которые я покажу вам позже) будет такой же, если я получу доступ к / news / page: 2 и / posts / index / page: 2, но если вы возьмете посмотрите на эту часть:
Array
(
[...]
[paging] => Array
(
[Post] => Array
(
[page] => 1
[current] => 3
[count] => 3
[prevPage] =>
[nextPage] =>
[pageCount] => 1
[defaults] => Array
(
[limit] => 3
[step] => 1
[order] => Post.created DESC
[conditions] => Array
(
[Post.active] => 1
[Post.page] =>
[0] => Post.public_date <= NOW()
)
)
[options] => Array
(
[page] => 1
[limit] => 3
[order] => Post.created DESC
[conditions] => Array
(
[Post.active] => 1
[Post.page] =>
[0] => Post.public_date <= NOW()
)
)
)
)
Вы видите, что номер страницы не корректен. Но если я захожу из / posts / index / page: 2, это хорошо воспринимает число и работает нумерация страниц.
Если бы это были красивые URL, это не беспокоило бы меня, но, учитывая, что сайт многоязычный, мне нужно, по крайней мере, это работает, если я захожу на / en / posts / index / page: 2 (или / en / news / page: 2) ...
Вот мой полный файлways.php:
http://pastebin.com/th4hLZNz
Кто-нибудь имеет представление о том, что происходит?
Заранее спасибо