Ekstra bir eylem çağırmadan zend dinamik bir kenar çubuğu uygulanması

2 Cevap php

Şu zarif ve verimli hem de bir ZF site için "en iyi uygulama" ile gelip çalışıyorum. Ne yapmaya çalışıyorum sadece bir kenar çubuğu için veri oluşturmak olduğunu.

Ilgili sorular bir çift ve diğer kaynaklara, alınan yaklaşım düzeni kenar kısmından başka bir eylem aramak veya bir actionstack helper'a kenar çubuğu eylemi eklemek oldu. Bunlar çok şık görünüyordu, ama çok kötü bir performans sevk döngü, ekstra bir isteği ekleyin.

Ben insanlar semantik oldukça zayıf görünüyor ... Hangi sadece formatlama çok daha fazlasını yapmak görünümü yardımcıları öneririm gördüm. Düzen ona gelmeden önce kenar veri üretimi otomatikleştirmek için bir yolu var mı?

2 Cevap

Merhaba farklı şekillerde bir yeri vardır. Ben bir FrontController Plugin wich düzeni komut için kenar çubuğu içeriği gönderir kullanmak istiyorsunuz. Böyle bir şey:

/**
 * layout script
 */
<?php echo $this->sidebar; ?>

/**
 * Plugin
 */
class My_Plugin_Sidebar extends Zend_Controller_Plugin_Abstract {

    /**
     * preDispatch()
     *
     * @return void
     */
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        $layout = Zend_Layout::getMvcInstance();

        $nav = new My_Model_Menu();
        $entries = $nav->getEntries();

        $html = '<h2> my sidebar </h2>';

        foreach ($entries as $e) {
            $html .= '<li>' . $e . '</li>';
        }

        $layout->sidebar = $html;

    }

}

Kenar çubuğu tarafından navigasyona demek, nispeten yeni bileşeni Zend_Navigation hangi shipped with a view helper kontrol edebilirim.