1

次のような Zend_Navigation (xml) でページ構造を作成する方法はありますか?

- 1. Dashboard
- - 1.1 New article
- - 1.2 New user
- - 1.3 New products
- 2. Articles
- - 2.1 New article
- - 2.2 Reviews
- 3. User
- - 3.1 New user
- - 3.2 Etc Etc...
-
-

- この XML (xml の例) で実行しようとしていますが、記事ページに Dashborad のページが読み込まれ、両方のページ (記事とダッシュボード) がアクティブであるため、予期せずに機能します。

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <navigation>
        <dashboard>
            <label>Dashboard</label>
            <module>admin</module>
            <controller>index</controller>
            <action>index</action>
            <pages>
                <add>
                    <label>New</label>
                    <module>admin</module>
                    <controller>recension</controller>
                    <action>add</action>
                </add>
            </page>
        </dashboard>
        <articles>
            <label>Articles</label>
             <module>admin</module>
             <controller>articles</controller>
             <action>index</action>
            <pages>
                <overview>
                    <label>Preview</label>
                    <module>admin</module>
                    <controller>articles</controller>
                    <action>index</action>
                </overview>
                <add>
                    <label>New</label>
                    <module>admin</module>
                    <controller>articles</controller>
                    <action>add</action>
                </add>
             </pages> 
        </articles>     
    </navigation>
</config>

提案をありがとう。

4

1 に答える 1

1

それはうまくいくはずです。Zend_Navigation はページがアクティブであるため、ページをアクティブに設定します。異なる場所に同じページがあり、それらを同時にアクティブにしたくない場合は、ナビゲーションの設計が悪いことを意味します。

2 つの回避策があります

  1. より多くの zend ナビゲーション コンテナを定義します - しかし、それを扱うのは簡単ではありません
  2. rel=dashbord などの追加のパラメータをページに追加して、単一のアクティブなページを決定します

それは次のようなものになります

<dashboard>
    <label>Dashboard</label>
    <module>admin</module>
    <controller>index</controller>
    <action>index</action>
    <pages>
        <add>
            <label>New</label>
            <module>admin</module>
            <controller>recension</controller>
            <action>add</action>
            <params>
                <rel>dashboard</rel>
            </params>
        </add>
    </page>
</dashboard>
于 2010-11-11T15:12:09.087 に答える