0
我有一个应用程序,我正在处理一些非常奇怪的路由涉及传递的参数。一切正常,链接反向路由正确,除了分页。我正在撕掉我的头发,但一定是失去了一些东西。CakePHP路由和分页问题
我的路线是:
Router::connect('/manufacturer/:manufacturer/:friendly0', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/:friendly2', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1', 'friendly2')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/:friendly2/:friendly3', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1', 'friendly2', 'friendly3')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/:friendly2/:friendly3/:friendly4', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1', 'friendly2', 'friendly3', 'friendly4')));
,我已经添加了通过参数传递给了分页程序选项是这样的:
$this->Paginator->options(array('url'=>array(
'controller' => 'categories',
'action' => 'view',
'manufacturer' => 'nsm',
'friendly0' => 'Accessories'
)));
然而,分页程序链接出来是这样的:
/分类/浏览/页面:2 /制造商:nsm/friendly0:配件
他们sh乌尔德是:
/制造/ NSM /附件/页:2
谁能帮助?
在此先感谢。
编辑:
如果我添加/ *,以每条路线然后分页链接和定期的联系工作,如预期的目的,而是只有第一个途径。我猜测,在调度期间应该匹配其他路由时,由于/ *,第一条路由始终为真。
有趣的是,如果我改变这些路线是这样的顺序:
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/*', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1')));
Router::connect('/manufacturer/:manufacturer/:friendly0/*', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0')));
然后蛋糕似乎认为页:2名为PARAM应该是通过ARG并将它传递给友好:1。
我建议你改变你的路由配置在你的其他问题回答,看是否分页程序仍然给任何问题... –