这些天我一直试图解决这个问题。当我想在我的网址中为我的分页添加'page'参数时,我遇到了问题。
这是我的路由器
->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+')))
然后我访问我的网址
http://localhost/learningsystem/en/budi
但是当我将鼠标悬停在我的分页链接上时,页面参数不会出现。网址仍然是 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
时,页面参数会完美显示实际上,我不想在我的网址中首先包含'index'或'page'。无论如何,我使用Zend的默认pagination.phtml模板。有人请帮我解决这个问题吗?
非常感谢
答案 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'
)
);