如果找不到匹配项,则为Zend Custom Route

时间:2012-06-21 17:49:14

标签: zend-framework zend-route zend-router

我有一个带有几个模块的ZF应用程序:(像往常一样)

root\
    \application\
                \default
                \items
                \me
                   \controllers
                   \views

该应用程序使用默认路由,如/module/controller/action;

我想要的是:如果找不到默认的Zend路由匹配(没有找到动作/控制器/模块),则路由到所需路径,并将url端点吐入参数。

例如:

  • mydomain.lh/me - >将匹配模块me,控制器index,操作index(默认)

  • mydomain.lh/my_category_name - >将匹配模块items,控制器index,操作indexparams:category => my_category_name - >使用所需路径路线

    • 不存在my_category_name模块以匹配

我试过这个,进入bootstrap.php:

 public function _initRoutes ()
{
    $router = $this->_front->getRouter(); // returns a rewrite router by default

    $router->addRoute(
        'cat-item',
        new Zend_Controller_Router_Route('/:category',
                                         array(
                                            'module' => 'items',
                                            'controller' => 'index',
                                            'action' => 'index'))
    );
}

Witch指向正确的位置(我知道因为我已将var_dump -ed请求网址添加到items/index/index操作中,并且预期的网址和参数都在那里,但如果我没有var_dump(something);exit;进入行动,提供空白页面。

  • 没有输出,但也没有生成错误,请求状态为200 - 确定

有人可以提出建议吗?

谢谢!

0 个答案:

没有答案