Zend_Navigation Custom render

2 Cevap php

Benim Zend Framework MVC uygulaması ile birlikte bir navigasyon XML dosyası kullanıyorum.

Bir üst düzey menü benim düzeninin üstünde işlenir. Onu üretmek için kod şöyle görünür:

$this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>  0));

This will automatically render an unordered list of links that I have styled into my top menu. Now, I want to render the submenu (to render the active container tree) taking advantage of all the built-in Zend_Navigation goodness (MVC and ACL integration) but with custom markup. I would do this by inserting this:

$this->navigation()->menu()->renderSubMenu();

Aslında, ben bu işlemek için gereken biçimlendirme çok özel bir set var. O benim istenen sunum karşılamak için bir Sırasız liste stili sanmıyorum çok büyük ölçüde farklı.

Gerek bir alt menü özelleştirmek ;) olması halinde basit bir şekilde (veya karmaşık var mı?

2 Cevap

Benim bu cevabı atın: http://stackoverflow.com/questions/1243697/getting-zendnavigation-menu-to-work-with-jquerys-fisheye/1255289#1255289

Özetlenmiştir sen sayfalarında navigasyon ve döngü için bir görünüm oluşturmak ve özel biçimlendirme oluşturmak için sayfa yöntemleri kullanın. Bildiğim kadarıyla, şu anda Navigasyon için dekoratör gibi destek var.

Bana doğru yolda koymak Typeoneerror, burada kullanarak sona erdi kodu:

Layout.phtml in:

<?= $this->navigation()->menu()->renderMenu(null,array('maxDepth'   =>   0)); ?>
<? $this->navigation()->menu()->setPartial('sidemenu.phtml'); ?>
<?= $this->navigation()->menu()->render(); ?>

Sidemenu.phtml in:

$this->navigation()->findByResource(
  Zend_Controller_Front::getInstance()->getRequest()->module .
  Zend_Controller_Front::getInstance()->getRequest()->controller
 );

 foreach ($this->container as $page) {
    if ($page->isVisible() && $this->navigation()->accept($page)) {
        if ($page->isActive()) {
            echo $page->getLabel();
            $subcontainer = $page->getPages();
            foreach ($subcontainer as $subpage) {
                echo $subpage->getLabel();
            }
        }
    }
 }

Bulmak için bir başkası için bir cevap olarak bu bırakarak, bir cazibe gibi çalıştı.