J'ai codé un module d'administration simple avec la possibilité de paginer les enregistrements et de les trier par colonne. Et lorsque je trie et que j'appelle une autre action sur les enregistrements, il doit rediriger l'utilisateur vers la page d'index avec les mêmes paramètres de tri qu'avant. Mais après avoir appelé l'indexAction() avec des paramètres comme/admin/users/index/colonne/num_orders/order/ASC et ensuite appeler le toggleActiveAction() je suis redirigé vers la page/admin/users/index/column/num_orders/order/CSS. La même histoire avec .../index/page/2 => .../index/page/css.Comment corriger les données incorrectes de la session Zend ('css')
Pourquoi "CSS"? Mes données de session n'ont jamais été utilisées dans un autre contexte que celui que vous voyez ci-dessous.
Dans mon bootstrap je donne les résultats suivants:
protected function _initSession()
{
Zend_Session::start();
}
initialisation Controller():
...
$this->_session = new Zend_Session_Namespace('Admin_Users');
...
j'ai une fonction suivante dans mon contrôleur:
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);
}
En action index :
$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;
Puis, en toggleActiveAction() J'appelle
$this->redirectToIndex();