Zend рамки динамические хлебные крошки этикетки - PullRequest
2 голосов
/ 08 сентября 2010

Эй, у меня есть навигация Zend в файле navigation.xml, которая выглядит следующим образом:

<nav>
    <home>
        <label>Home</label>
        <controller>index</controller>
        <resource>index</resource>
        <action>index</action>
        <pages>
            <Reports>
                <label>Reports</label>
                    <controller>Reports</controller>
                    <resource>Reports</resource>
                    <action>index</action>
            </Reports>
        </pages>
    </home>
</nav>

, и я инициализировал свои хлебные крошки через

$this->navigation()->breadcrumbs()

.Поскольку страница находится в файле navigation.xml, но я хочу, чтобы, например, был отчет с именем «Отчет за сегодня», тогда «хлебные крошки» должны выглядеть следующим образом: Главная> Отчеты> Отчет за сегодня, другими словами, динамические крошки,уже есть способ сделать это?или я должен реализовать свой собственный?я должен отказаться от XML и должен использовать массив для навигации, который затем все динамически создается из базы данных, а затем сохранить объект в реестре?но опять же я не хочу, чтобы все это появлялось в навигации, оно должно быть только для сухарей.Какие-нибудь мысли?

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Вам нужно изменить xml на следующее:

<nav>
    <home>
        <label>Home</label>
        <controller>index</controller>
        <resource>index</resource>
        <action>index</action>
        <pages>
            <Reports>
                <label>Reports</label>
                <controller>Reports</controller>
                <resource>Reports</resource>
                <action>index</action>
                <pages>
                    <TodayReport>
                        <label>Today Report</label>
                        <controller>Reports</controller>
                        <action>today-report</action>
                                            <visible>0</visible>
                    </TodayReport>
                </pages>
            </Reports>
        </pages>
    </home> </nav>

Отчет за сегодня будет скрыт из-за (0), но чтобы включить их для хлебных крошек, используйте следующее: $ this->navigation () -> breadcrumbs () -> setRenderInvisible (TRUE);

Вы можете создать навигационный объект из базы данных, это не объясняется в документации, но вы можете узнать, как создать навигационный объектих.http://framework.zend.com/manual/en/zend.navigation.pages.html

0 голосов
/ 08 сентября 2010

Если речь идет о хлебных крошках, а не о карте сайта, не отображайте последний элемент и не используйте заголовок, который вы, вероятно, уже отображаете на странице:

<?= $this->navigation()->breadcrumbs()->setMinDepth(0) . ' > ' . $this->title ?>

В противном случае вам придется выполнить итерациюконтейнер и выполнить заменить вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...