代码之家  ›  专栏  ›  技术社区  ›  Damien

输出更好的模块url?

  •  1
  • Damien  · 技术社区  · 16 年前

    我正在输出一个特定模块的url,如下所示:

    $this->view->url(array('controller'=>'index','action'=>'index','module'=>'somemodule'))
    

    /somemodule/action1/paramid/paramval
    

    /somemodule/index/index/paramid/paramval
    

    当我真正想要的是:

    /somemodule/
    

    array('module'=>'somemodule') 不起作用。。。

    1 回复  |  直到 12 年前
        1
  •  0
  •   pharalia    16 年前

    奇怪的是,如果没有指定,我会认为它默认为index/index。你可以试着用Zend\u控制器\u路由器\u路由设置一些东西;

    $router = $ctrl->getRouter(); // returns a rewrite router by default
    $router->addRoute(
        'user',
        new Zend_Controller_Router_Route('somemodule',
                                         array('module' => 'somemodule',
                                               'controller' => 'index',
                                               'action' => 'index'))
    );
    

    但是,您需要设置路由以将:id/:val捕获到变量中。您可以使用另一个addRoute()来实现这一点,将每个变量命名为冒号前面。

    $router->addRoute(
        'user',
        new Zend_Controller_Router_Route('somemodule/:id/:val',
                                         array('module' => 'somemodule',
                                               'controller' => 'index',
                                               'action' => 'index'))
    );
    

    然后您应该能够在URL中查看没有索引/索引的模块,这可能会解决URL助手的问题。

    更多信息请点击此处 http://framework.zend.com/manual/en/zend.controller.router.html

    推荐文章