Zend_Paginator связывает с параметрами запроса - PullRequest
2 голосов
/ 14 января 2011

Не могли бы вы сказать мне, как сделать ссылку с Zend_Paginator следующим образом: http://url/controller/action?id=47&page=2. Я хочу добавить в URL дополнительный параметр к запросу url, например url? Id = value, а не paramater, как этот: url/ контроллер / действие / параметр / значение.Не могли бы вы также рассказать, как передать переменную для просмотра частично кроме страницы.Спасибо.

Ответы [ 2 ]

1 голос
/ 14 января 2011

Существует URL-адрес помощника вида по умолчанию, предназначенный для обработки этого.

Вы можете сгенерировать ваш URL со следующими данными:

echo $this->url(array('controller' => 'controllerName',
                      'action'     => 'actionName',
                      'param1'     => 'param1',
                      'param2'     => 'param2));

Если вы пропустите некоторые параметры, помощник будет использовать те, которые были в URL запроса

Итак, с Zend_Paginator вы идете по этому пути:

$pages = $this->paginator->getPages();

// previous
echo $this->url(array('page' => ($pages->current -1)));

// current
echo $this->url(array('page' => ($pages->current)));

// next
echo $this->url(array('page' => ($pages->current +1)));

** РЕДАКТИРОВАТЬ **

Пример для отражения моего первого комментария

echo $this->url(array('controller' => 'controllerName', 'action' => 'actionName')) . '?user=' . $id . '&page=' . $pageNumber
0 голосов
/ 09 июня 2011

, так что, если я правильно понимаю этот пост (ы) ... это ваше решение для сохранения постоянного значения $ _GET или $ _POST для каждой последующей загрузки страницы в наборе результатов Paginator? У меня есть функция поиска, которая возвращает результаты, но когда я пытаюсь разбить на страницы результаты, на следующей странице загружается переменная $ _POST, и я начинаю возвращать все результаты, потому что поиск по шаблону становится SELECT * FROM table WHERE col LIKE '%%'. не то, что я хочу

РЕДАКТИРОВАТЬ: я загружаю ключевые слова в zend_cache () и вызываю их обратно при загрузке страницы, передавая идентификатор кэша (значение ключевого слова md5 ()) через URI. если кому-то интересно, выложу код

...