Допустим, у меня есть эта страница с нумерацией страниц:
локальный / фр / пользователей / индекс / страница: 1
Я вижу правильные результаты для страницы 1 в зависимости от того, как я определил переменную paginate в моем контроллере. Но когда я нажимаю следующую кнопку, URL меняется на страницу: 2, но результаты не меняются и совпадают со страницей: 1, то же самое для страницы: 3, страница: 4 и так далее ...
Если я сначала отсортирую столбец, скажем, имя пользователя, то я могу без проблем использовать предыдущую / следующую ссылку, данные меняются на каждой странице.
Единственное, о чем я могу думать, это может вызвать у меня проблемы, это то, что я использую параметр языка в своих URL, но я не знаю, как это исправить ...
Я сейчас использую Cake 1.2.5. Я также пытался с 1,3 бета с такими же результатами.
Хорошо, вот мой код контроллера пользователя:
var $paginate = array('limit'=>'5');
function index() {
$this->User->recursive = 0;
$this->set('users', $this->paginate());
}
Я использую учебник Teknoid для переключения языков:
Переключение языков на основе URL ...
параметр языка добавлен через app_helper.php
function url($url = null, $full = false) {
if(!isset($url['language']) && isset($this->params['language'])) {
$url['language'] = $this->params['language'];
}
return parent::url($url, $full);
}
и переключение языков осуществляется с помощью метода в app_controller.php:
function _setLanguage() {
if ($this->Cookie->read('lang') && !$this->Session->check('Config.language')) {
$this->Session->write('Config.language', $this->Cookie->read('lang'));
}
else if (isset($this->params['language']) && ($this->params['language']
!= $this->Session->read('Config.language'))) {
$this->Session->write('Config.language', $this->params['language']);
$this->Cookie->write('lang', $this->params['language'], null, '20 days');
}
}
РЕШЕНИЕ:
После настройки сайта босса Yahoo и того, что подкачка страниц работала без сбоев, я более внимательно посмотрел на свой код и обнаружил, что проблема была в моем маршруте .php.
У меня было это:
Router::connect('/news', array('controller'=>'news', 'action'=>'index'));
Router::connect('/:language/news', array('controller'=>'news', 'action'=>'index'), array('language'=>'[a-z]{2}'));
Я изменил это так, чтобы принять все параметры:
Router::connect('/news/*', etc...
Router::connect('/:language/news/*', etc...