Добавить параметр страницы в Zend Framework не работает - PullRequest
0 голосов
/ 04 декабря 2009

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

Это мой роутер


        ->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 http://localhost/learningsystem/en/budi/index/page/2

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

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

1 Ответ

1 голос
/ 05 декабря 2009

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

$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'
  )
);
...