Значение параметра подстановочного знака и навигация по Zend - PullRequest
0 голосов
/ 19 сентября 2011

Можно ли сопоставить страницу с определенной комбинацией действие + параметр, например:

                    <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, тогда он должен быть активным.(Я ставлю * как подстановочный знак, но я не знаю правильный способ сделать это)

/ user / profile = должен установить myprofile активным / user / profile / id / 5 = должен установить othersprofile активным

Любая помощь приветствуется.

Спасибо

1 Ответ

0 голосов
/ 19 сентября 2011

Существует обходной путь, явно указывающий страницу как активную в вашем действии.

Вы можете сделать это так:

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

    // rest of your action code...

Начиная с ZF 1.11.8, вы сможете просто добавить название маршрута в параметры вашей страницы, и оно будет активным для всего, что соответствует этому маршруту. (функция «route» была добавлена ​​ранее, но были некоторые проблемы с обнаружением isActive, см. http://framework.zend.com/issues/browse/ZF-11359)

...