Php 自定义模块的Zend Translate路由
如何在Zend Framework中为自定义模块(在我的例子中是管理模块)上的默认语言设置路由 我有以下代码:Php 自定义模块的Zend Translate路由,php,zend-framework,zend-route,zend-translate,zend-router,Php,Zend Framework,Zend Route,Zend Translate,Zend Router,如何在Zend Framework中为自定义模块(在我的例子中是管理模块)上的默认语言设置路由 我有以下代码: $langRoute = new Zend_Controller_Router_Route( ':lang/admin', array( 'lang' => 'ro', ) ); 我不想得到的是如下url: www.example.com/ro/admin/pages/add/62 www.example.com/ro/admin/pages/in
$langRoute = new Zend_Controller_Router_Route(
':lang/admin',
array(
'lang' => 'ro',
)
);
我不想得到的是如下url:
www.example.com/ro/admin/pages/add/62
www.example.com/ro/admin/pages/index/by/date_modified/order/asc
等等。试试这个方法会起作用:
protected function _initRoutes() {
$langRoute = Zend_Controller_Front::getInstance ()->getRouter ();
$langRoute->removeDefaultRoutes ();
$route = new Zend_Controller_Router_Route(
':lang/:module/:controller/:action/*',
array (
'lang' => 'ro',
'module' => 'admin',
'controller' => 'index',
'action' => 'index'
)
);
$langRoute->addRoute ( 'langrouter', $route );
}
如何在运行时更改默认的
lang
当从web sit单击其他语言选项时?@AshwinP我真的不明白你的意思。在Zend Controller路由器中,你添加了默认的lang(语言)设置为“ro”,那么,如何使用将语言从ro更改为like en,nl或hi等等…我还有一个插件,init在翻译后得到用户的语言。但这不是我的问题,用户区域设置被正确检测。我只是不知道如何为模块设置它。像www.example.com/ro和www.example.com这样的链接都会路由到ro版本,就像我不想这样,但这不会发生在模块上。它可以工作,但不工作的是默认url,例如:www.example.com/admin/pages/index应该路由到默认的“ro”。你知道我应该补充什么吗?