Структура Zend_Navigation XML (страница панели инструментов) - PullRequest
1 голос
/ 08 ноября 2010

есть ли способ создать структуру страницы с помощью 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, и обе страницы (Artcile и Dashboards) активны:

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

Спасибо за любые предложения.

1 Ответ

1 голос
/ 11 ноября 2010

Работает как надо. Zend_Navigation устанавливает страницу как активную, потому что она активна. Если у вас одна и та же страница в разных местах и ​​вы не хотите, чтобы они были активными одновременно, это означает, что у вас плохой дизайн навигации.

Есть два обходных пути

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