2009-12-04 8 views
0

Я пытался понять это в наши дни. У меня возникла проблема, когда я хочу добавить параметр «page» в свой URL для моей разбивки на страницы.Добавить параметр страницы в Zend Framework не работает

Это мой маршрутизатор


     ->addRoute('budi',new Zend_Controller_Router_Route(':lang/budi',array('controller' => 'budi', 'action' => 'index', 'page' => 1), array('lang'=>$s, 'page' => '\d+'))) 
     ->addRoute('budi1',new Zend_Controller_Router_Route(':lang/budi/page/:page',array('controller' => 'budi', 'action' => 'index', 'page' => 1), array('lang'=>$s, 'page' => '\d+'))) 

Тогда доступ к моему URL


http://localhost/learningsystem/en/budi 

но когда я парить на моих постраничной ссылок, параметр страницы не отображается. URL по-прежнему http://localhost/learningsystem/en/budi

, но если ввести тот же URL-адрес с индексом, в конце концов как этот


http://localhost/learningsystem/en/budi/index 

или как этот


http://localhost/learningsystem/en/budi/page/1 

параметр страница отображается отлично, когда Я нажимаю на страницу 2 link http://localhost/learningsystem/en/budi/index/page/2

На самом деле, я не хочу включать «индекс» или «страницу» сначала в свой URL. Во всяком случае, я использую шаблон pagination.phtml по умолчанию из Zend. Кто-нибудь, пожалуйста, помогите мне решить эту проблему?

Большое спасибо

+0

Вы получили эту работу окончательно? Я придерживаюсь аналогичной ситуации. –

ответ

1

Как насчет чего-то подобного?

$router->addRoute(
    'budi', 
    new Zend_Controller_Router_Route_Regex(
    '(.*)/budi', 
    array('controller' => 'budi', 'action' => 'index', 'page' => 1), 
    array(1 => 'lang', 2 => 'page'), 
    '%s/budi/page/%d' 
) 
); 
$router->addRoute(
    'budi1', 
    new Zend_Controller_Router_Route_Regex(
    '(.*)/budi/page/(\d*)', 
    array('controller' => 'budi', 'action' => 'index'), 
    array(1=>'lang', 2=>'page'), 
    '%s/budi/page/%d' 
) 
); 
+0

Я пробовал это решение, и оно не работает. Отображение страницы по-прежнему не работает. –