1

我正在使用 ZendFramework 构建多语言站点。

关于 URL,我希望它像:

http://example.com/lang/module/controller/action

是的,我在 bootstrap.php 的 _initRoute() 处创建了新路由器:

public function _initRoutes() {
    $this->bootstrap('FrontController');
    $this->_frontController = $this->getResource('FrontController');
    $router = $this->_frontController->getRouter();

    $langRouter = new Zend_Controller_Router_Route(':lang/', array(
        'lang' => 'en'
    ));

    $defaultRouter = new Zend_Controller_Router_Route(':module/:controller/:action', array(
        'module' => 'default',
        'controller' => 'index',
        'action' => 'index'
    ));

    $defaultRouter = $langRouter->chain($defaultRouter);

    $router->addRoute('langRoute', $langRouter);
    $router->addRoute('defaultRoute', $defaultRouter);

}

真的行。

但它并不完整,我有两个问题:

  1. 如果 URL 是,如何设置默认语言 ex

    http://example.com/module/controller/action

    _initRoutes() 仅将“模块”视为语言

  2. 如何生成语言 URL?

    就像是:

    $this->url(array('controller' => '', 'module' => '', 'action' => '', 'lang' => ''))

你能帮我解决问题吗??

提前致谢。

4

0 回答 0