Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF]Zend_Navigation nadawanie klas dla elementów menu
Forum PHP.pl > Forum > PHP > Frameworki
amii
Z tego co wyczytałem w dokumentacji i zaobserwowałem to klasa Zend_Navigation automatycznie dodaje klasę dla aktywnego elementu menu. Schematycznie zakładając, że aktywny jest element z id="menu-m3" wygląda to tak:

  1. <ul class="navigation">
  2.  
  3. <li class="active">
  4. <a id="menu-m3" title="Konto użytkownika" class="menu_start" href="jakis_url">Konto użytkownika</a>
  5. </li>
  6.  
  7. <li>
  8. <a id="menu-m5" title="Nasi klienci" class="menu_start" href="jakis-url2">Klienci</a>
  9. </li>
  10. <!-- inne elementy listy menu -->
  11. ....
  12. </ul>


Obiekt Zend_Navigation inicjuje w bootstrap.php plikiem konfiguracyjnym xml
  1. protected function _initMyView() {
  2. $this->bootstrap('view');
  3. $view = $this->getResource('view');
  4.  
  5. //menu i breadcrumbs, ewentualnie
  6. $navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
  7. $navContainer = new Zend_Navigation($navContainerConfig);
  8. $view->navigation($navContainer);
  9.  
  10. //inne metody inicjacyjne w bootstrap.php
  11. }


Menu html powyżej jest tworzone w layout.phtml
  1. <div class="nb">
  2. <?php echo $this->navigation()->menu()->render() ?>
  3. </div>


Proszę tylko o potwierdzenie czy właściwie rozumuje smile.gif
doogi
Wystarczy nawet wersja skrócona:
  1. <div class="nb">
  2. <?php echo $this->navigation(); ?>
  3. </div>
Fluke
W sumie jak będzie chciał więcej menu w swojej aplikacji to lepiej już od razu dodawać zmienną w render
  1. <div class="nb">
  2. <?=$this->navigation()->menu()->render($this->navigation); ?>
  3. </div>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.