【问题标题】:zend redirect in different language不同语言的zend重定向
【发布时间】:2014-05-12 07:49:14
【问题描述】:

使用 Zend Framework,我有一个名为 my_action 的动作和两种语言 en 和 de,所以调用是这样的:

  • /en/my_action/my_english_parameteres
  • /de/mein_handeln/mein_deutsch_parameter

我怎样才能更改 routes.ini,所以,每当有人浏览时:

  • /de/mein_handeln/mein_deutsch_parameter

自动重定向:

  • /en/my_action/my_english_parameteres

这可以在 routes.ini 中或使用一些 preDispatch() 操作来完成吗?

提前谢谢你!

【问题讨论】:

    标签: php zend-framework routing


    【解决方案1】:

    如果您使用 Zend_Translate 和自定义路由,那么路由器可以为您翻译路由。

    $router = Zend_Controller_Front::getInstance()->getRouter();
    $routes['account'] = new Zend_Controller_Router_Route(
      '/@myaccount/@settings',
      array(
        'module' => 'user',
        'controller' => 'index',
        'action' => 'account',
      ));
    $router->addRoutes($routes);
    

    在路径中的名称前使用“@”会导致路由器搜索转换。现在您可以创建类似$this->url(array(), 'account') 的链接,它会将其翻译成正确的语言(如果找不到myaccount/settings,则地址将保持不变)

    【讨论】:

      猜你喜欢
      • 2013-09-19
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      相关资源
      最近更新 更多