我是ZF2初学者并在我的第一个网站上工作。 我需要一个多语言网站,并在路由方面遇到一些麻烦。 我像这样配置了我的路线:
'lang' => array(
'type' => 'segment',
'options' => array(
'route' => '/:lang',
'constraints' => array(
'lang' => 'en|it'
),
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'index'
)
),
'may_terminate' => true,
'child_routes' => array(
'home' => array(
'type' => 'literal',
'options' => array(
'route' => '/home',
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'index'
)
)
),
'other routes' ...
)
)
因此,我稍后可以使用/lang
来设置翻译器。 (www.site.com/it/home
或www.site.com/en/home
)
现在我需要在布局中添加链接以切换语言,因此我需要生成显示的同一页面的URL,但是将“it”切换为“en”,反之亦然。我怎样才能做到这一点?我可以从视图中以某种方式获得路线的以下部分('/home'
,'/about'
,'/show/gallery'
等)吗?
答案 0 :(得分:0)
我认为您只需在布局/视图中执行以下操作:
//using url view helper
echo $this->url(null, array('lang' => 'en'));
通过将null作为routename,helper将获取当前匹配的routename,因此理论上它应该可以工作。 但不幸的是,如果路线是已设置参数的段,sry,我无法说出会发生什么。