0

编辑,由以下响应中的修复引起的轻微问题:

现在这些规则发生冲突:

    $router->addRoute('view-category',      new Zend_Controller_Router_Route(':id/category/:page',  array('module' => 'default', 'controller' => 'category', 'action' => 'view', 'page' => null)));

    $router->addRoute('management/category',    new Zend_Controller_Router_Route('management/category/',    array('module' => 'management', 'controller' => 'category', 'action' => 'index')));

所以基本上 /management/category/reset 被 view-category 规则捕获,即使我在那里切换顺序。这从来都不是问题。

理想情况下,如果有任何东西被 /management 或 /administration 捕获,它会忽略 :name/category 规则。是否可以使 /management 和 /administration 忽略以前的规则并路由到其控制器操作,因为在这些区域中没有其他特定规则。

老问题:

$router->addRoute('view-category',      new Zend_Controller_Router_Route(':id/category',    array('module' => 'default', 'controller' => 'category', 'action' => 'view')));
$router->addRoute('view-category-page', new Zend_Controller_Router_Route(':id/category/:page',  array('module' => 'default', 'controller' => 'category', 'action' => 'view')));

这些规则冲突会阻止分页器在 /category-name/category URL 上工作。

有没有办法把它们结合起来?

4

1 回答 1

1

尝试为“page”参数添加默认值。

$router->addRoute('view-category', 
    new Zend_Controller_Router_Route(':id/category/:page',  
        array('module' => 'default', 
              'controller' => 'category', 
              'action' => 'view',
              'page' => null)
    )
 ); 
于 2011-02-09T18:55:03.853 回答