通配符参数值和 zend 导航

发布于 2024-12-05 04:10:54 字数 1125 浏览 2 评论 0原文

是否可以将页面映射到特定的操作+参数组合,如下所示:

                    <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 = 应该将 otherprofile 设置为活动状态

任何帮助表示感谢。

谢谢

Is it posible to map a page to a specific action + param combination, like this:

                    <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>

I'd like that if the uri includes any id param , then the should be active. (I put a * as wildcard but I dont know a correct way to do it)

/user/profile = should set myprofile to active
/user/profile/id/5 = should set othersprofile to active

Any help appreciated.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南风几经秋 2024-12-12 04:10:54

有一个解决方法,可以在您的操作中将页面明确设置为活动状态。

您可以这样做:

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

There is a workaround by setting explicitly the page as active in your action.

You could do it like this :

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

    // rest of your action code...

Starting from ZF 1.11.8, you should be able to just add the route name in your page params, and it will be active for anything matching this route. (the "route" feature has been added before, but there were some issues with isActive detection, see http://framework.zend.com/issues/browse/ZF-11359)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文