Zend_Navigation kullanarak kırıntıları nasıl uygulanacağı

2 Cevap php

Zend_Navigation kullanarak ZendFramework uygulama için bir ekmek kırıntısını uygulamak için en iyi uygulamalar / öneri / teknikleri nelerdir? nasıl ve nerede sayfa hiyerarşisini tanımlamak için en iyi yöntem nedir?

2 Cevap

Ben bu 2 mesajlarını yaptı.

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/

Her ikisi de gerçek dünya deneyimleri vardır. Benim için, XML dosyası anlamak daha kolay oldu.

Kırıntıları almak oldukça kolaydır:

  • Eğer tuşu ile Zend_Registry sizin bootstrap (veya başka bir yerde) oluşturulan sizin Zend_Navigation nesnesini kaydettirmek Zend_Navigation. Bu şekilde nesne tüm navigasyon görünümü-yardımcıları tarafından yakalanmış olacaktır.
  • Eğer yeni Zend_Application tarzı önyükleme kullanılarak eğer sadece kurulum navigasyon için Zend_Application_Resource_Navigation kaynak kullanabilirsiniz. Sadece konfigürasyonunda resources.navigation.storage.registry = true set.
  • Eğer basitçe yapabilirsiniz

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

    Sizin görüşünüze veya düzen komut.

Sayfa hiyerarşisini tanımlamak için nasıl hakkında konuşmak, ben bir şekilde daha küçük ve daha statik bir site varsa yeni Zend_Application-önyükleme-yaklaşım kullanırken, sadece (kendi yapılandırma içinde sayfaları tanımlamak söylersi )

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

Alternatif olarak ekstra bir yapılandırma dosyasını kullanabilir veya örneğin, bir ön-denetleyici eklenti ya da bir aksiyon helper sayfanızı hiyerarşi inşa olabilir Eğer oldukça büyük bir site yapıya sahiptir ve her istek üzerine tüm sitemap örneğini istemiyorsanız. Bu şekilde ayrıca, etiketler, örneğin dinamik oluşturulan istek parametrelerine dayalı dinamik sayfaları ekleyebilirsiniz.