Как исправить неверные данные сеанса Zend ('css') - PullRequest
0 голосов
/ 12 февраля 2010

Я кодировал простой модуль администратора с возможностью разбивать записи на страницы и сортировать их по некоторому столбцу. И когда я сортирую, а затем вызываю какое-то другое действие с записями, он должен перенаправить пользователя обратно на страницу индекса с теми же параметрами сортировки, что и раньше. Но после того, как я вызываю 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();

1 Ответ

0 голосов
/ 12 февраля 2010

Полагаю, на вашей странице есть несуществующий файл css (на js или img), который обрабатывается с помощью froncontroller Zend Framewok. Вы должны включить журнал для всех запросов, которые обрабатываются с помощью ZF, и вы найдете там запрос типа "/theme/supersite/css/thisFileNotExists.css" (или аналогичный:)

...