как реализовать панировочные сухари с помощью Zend_Navigation - PullRequest
4 голосов
/ 11 июля 2009

Каковы лучшие практики / предложения / методы для реализации хлебных крошек для приложения ZendFramework с использованием Zend_Navigation? как и где лучше всего определить иерархию страниц?

Ответы [ 2 ]

7 голосов
/ 11 июля 2009

Получить панировочные сухари довольно просто:

  • зарегистрируйте ваш Zend_Navigation объект, который вы создали в начальной загрузке (или в другом месте) в Zend_Registry с помощью ключа Zend_Navigation. Таким образом, объект будет подхвачен всеми помощниками вида навигации.
  • если вы используете новый Zend_Application стиль начальной загрузки, вы можете просто использовать ресурс Zend_Application_Resource_Navigation для настройки навигации. Просто установите resources.navigation.storage.registry = true в вашей конфигурации.
  • тогда вы можете просто

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

    в вашем представлении или скрипте макета.

Говоря о том, как определить иерархию страниц, я бы сказал, что если у вас есть несколько меньший и более статичный сайт, вы можете просто определить страницы в своей конфигурации (при использовании нового подхода Zend_Application -bootstrapping-подхода) :

resources.navigation.pages.home.label       = "Home"
resources.navigation.pages.home.action      = "index"
resources.navigation.pages.home.controller  = "index"
resources.navigation.pages.login.label      = "Login"
resources.navigation.pages.login.action     = "login"
resources.navigation.pages.login.controller = "users"
resources.navigation.pages.users.label      = "Users"
resources.navigation.pages.users.action     = "list"
resources.navigation.pages.users.controller = "users"
resources.navigation.pages.users.pages.show.label      = "Show"
resources.navigation.pages.users.pages.show.action     = "show"
resources.navigation.pages.users.pages.show.controller = "users"
...

В качестве альтернативы вы можете использовать дополнительный файл конфигурации или вы можете построить свою иерархию страниц в плагине фронт-контроллера или помощнике действий, например, если у вас довольно большая структура сайта и вы не хотите создавать экземпляр всей карты сайта при каждом запросе. Таким образом, вы также можете вставлять динамические страницы, чьи ярлыки, например, динамически создаются на основе параметров запроса.

5 голосов
/ 14 июля 2009

Я сделал 2 сообщения на этом.

http://blog.ekini.net/2009/05/25/zend-framework-making-the-built-in-breadcrumb-helper-work/

http://blog.ekini.net/2009/06/10/zend-framework-navigation-and-breadcrumbs-with-an-xml-file-in-zf-18/

Оба из опыта реального мира. Для меня XML-файл был проще для понимания.

...