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 をアクティブに設定する必要があります

どんな助けでも感謝します。

ありがとう

4

1 に答える 1

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 を参照してください)

于 2011-09-19T16:02:43.470 に答える