通配符参数值和zend导航

时间:2011-09-19 05:52:38

标签: php zend-framework zend-navigation

将页面映射到特定操作+ param组合是否可行,如下所示:

                    <myprofile>
                        <label>My Profile</label>
                        <controller>user</controller>
                        <action>profile</action>
                        <visible>1</visible>
                    </myprofile>                    
                    <othersprofile>
                        <label>User Profile</label>
                        <controller>usuario</controller>
                        <action>perfil</action>
                        <visible>0</visible>
                        <reset_params>0</reset_params>
                        <params>
                            <id>*</id>
                        </params>
                    </othersprofile>

我想如果uri包含任何id param,那么它应该是活动的。 (我把*作为通配符,但我不知道这样做的正确方法)

/ user / profile =应将myprofile设置为活动状态 / user / profile / id / 5 =应将othersprofile设置为活动

任何帮助表示感谢。

由于

1 个答案:

答案 0 :(得分:0)

通过在操作中明确将页面设置为活动状态,有一种解决方法。

你可以这样做:

public function perfilAction(){
    $this->view->navigation()->findOneBy('controller','usario')->setActive();

    // rest of your action code...

从ZF 1.11.8开始,您应该只能在页面参数中添加路径名称,并且对于与此路线匹配的任何内容,它都将处于活动状态。 (之前已添加“路由”功能,但isActive检测存在一些问题,请参阅http://framework.zend.com/issues/browse/ZF-11359