2010-11-15 153 views
0

我正在寻找结合Zend_Navigation多路径页面设置与路由器的问题的解决方案。我写了几个路由器(例如'/:lang /:controller /:action'),这很好。同时,我使用了navigation.xml,其定义如下: <user> <label>Users</label> <uri>mdm/users</uri> </user> 我必须动态地将缺省语言添加到导航中。我怎样才能做到这一点?Zend_Navigation&Zend路由器

非常感谢, 阿纳托利

回答

0

你为什么不设置路由的默认语言?

$router->addRoute('default', new Zend_Controller_Router_Route(
    ':lang/:controller/:action', 
    array(
     'lang'  => 'en', 
     'module'  => 'default' 
     'controller' => 'index', 
     'action'  => 'index' 
    ) 
)); 

请注意,我把它换成了“默认”的路线为您的路由方案将匹配默认:module/:controller/:action

+0

我做到了,我定义了几种途径,但如果我使我的导航第一页 - 例如。 mysuperpage.com导航链接看起来像mysuperpage.com/:controller/:action,它不工作,因为我定义了路线mysuperpage.com/:lang/:controller/:action或mysuperpage.com/:lang/:controller,并在第一页我没有lang定义。只要我切换lang我有mysuperpage.com/:lang/,那么导航效果很好。对于默认的Route(没有任何参数的介绍页面,我设置了默认语言),之后导航由Zend-Framework呈现,该框架没有/:lang /。 – Anatoliy 2010-11-16 22:51:55

+0

而这正是问题; / – Anatoliy 2010-11-16 22:58:21