0

我在 bootstrap.php 中有路线,女巫包含:

protected function _initRoutes()

{
        $router->addRoute(
            'default',
            new Zend_Controller_router_Route('/:lang/:module/:controller/:action/*',
                array('lang'=>'fa',
                        'module' => ':module',
                        'controller'=>'index',
                        'action'=>'index',
                    )
                )
        );
}

但是,当我使用此行时,它不会替换模块名称,而是返回 %3module 女巫是 :module 的 url 编码:

$this->url(array('controller'=>'index','action'=>'index'),'default',true) ;

我应该怎么做才能从请求的 URL 中获取模块名称,女巫在 _initRoutes() 中不起作用?

4

1 回答 1

2

用这个

$router->addRoute(
            'default',
            new Zend_Controller_router_Route('/:lang/:module/:controller/:action/*',
                array('lang'=>'fa',
                        'module' => 'default', //set the default module
                        'controller'=>'index',
                        'action'=>'index',
                    )
                )
        );

仅供参考:手动

或者

否则将模块名称传递给 url 助手,

$module = $this->getRequest()->getModuleName();
$this->url(array('module'=>$module,'controller'=>'index','action'=>'index'),'default',true) ;
于 2012-12-31T06:50:30.387 回答