Я кодировал простой модуль администратора с возможностью разбивать записи на страницы и сортировать их по некоторому столбцу. И когда я сортирую, а затем вызываю какое-то другое действие с записями, он должен перенаправить пользователя обратно на страницу индекса с теми же параметрами сортировки, что и раньше. Но после того, как я вызываю indexAction () с такими параметрами, как / admin / users / index / column / num_orders / order / ASC, а затем вызываю toggleActiveAction (), я перенаправляюсь на страницу / admin / users / index / column / num_orders / order / CSS.
Та же история с ... / index / page / 2 => ... / index / page / css.
Почему "CSS"? Мои данные сеанса никогда не использовались в другом контексте, чем вы видите ниже.
В моей начальной загрузке у меня есть следующее:
protected function _initSession()
{
Zend_Session::start();
}
Контроллер init ():
...
$this->_session = new Zend_Session_Namespace('Admin_Users');
...
У меня в контроллере есть следующая функция:
public function redirectToIndex()
{
$options = array();
if (isset($this->_session->curPage) && $this->_session->curPage != 1)
$options['page'] = $this->_session->curPage;
if (isset($this->_session->curColumn) && $this->_session->curColumn)
$options['column'] = $this->_session->curColumn;
if (isset($this->_session->curOrder) && $this->_session->curOrder)
$options['order'] = $this->_session->curOrder;
$this->_helper->redirector('index', 'users', 'admin', $options);
}
В индексном действии:
$curColumn = $this->_getParam('column', '');
$curOrder = strtoupper($this->_getParam('order', ''));
$page = $this->_getParam('page', 1);
...
$this->_session->curPage = $page;
$this->_session->curColumn = $curColumn;
$this->_session->curOrder = $curOrder;
Затем в toggleActiveAction () я вызываю
$this->redirectToIndex();