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 witch is url encoding of :module が返されます:

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

_initRoutes() で動作しない要求された URL ウィッチからモジュール名を取得するにはどうすればよいですか?

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 に答える