Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] Zmienna dostępna dla wspólnego widoku.
Forum PHP.pl > Forum > PHP
siuda
Witam Wszystkich,

Stawiam sobie bardzo nieśmiałe kroki w Zend Framwork i zdaje sobię sprawę, że pewnie jest inny sposób na rozwiązanie mojego problemu (bardziej profesjonalny), lecz dla samego siebie chciałbym się dowiedzieć czy jest możliwa taka oto sytuacja:

Posiadam kontroler z 4 metodami, które to posiadają 4 widoki. W katalogu views/scripts/includes jest plik header.phtml, który jest dołączany do widoku każdego kontrolera (zwykły nagłówek strony dla ułatwienia nawigacji). Teraz chciałbym dynamicznie wygenerować menu, które będzie się wyświetlało na tym właśnie nagłówku. Powiedzmy, że mają to być linki do każdej litery alfabetu [A|B|C|...Z] - link do kontrolera, który wyświetli dokumenty zaczynające się na wybraną literkę. Wygenerowanie czegoś takiego nie stanowi raczej problemu, ale jak dla mnie problemem jest wygenerowanie zmiennej, która będzie umieszczona w nagłówku, który de facto nie posiada swojego kontrolera? Jak uczynić, że zmienna będzie dostępna dla tego widoku?


Pozdrawiam,
Łukasz
k_@_m_i_l
Poczytaj o Zend_Layout i Zend_Navigation.
http://framework.zend.com/manual/en/zend.layout.html
http://framework.zend.com/manual/en/zend.navigation.html

Stwórz sobie layout, nie będziesz musiał doklejać headera do każdej podstrony.
Do stworzenia menu w Bootstrapie dodajesz:
  1. protected function _initNavigation()
  2. {
  3. $this->bootstrap('view');
  4. $view = $this->getResource('view');
  5. $config = require(APPLICATION_PATH.DS.'configs'.DS.'menu.php');
  6. $nav = new Zend_Navigation($config);
  7. $view->navigation($nav);
  8.  
  9. }


A w layoucie wyświetlasz menu poprzez:
  1. echo $this->navigation()->menu();


PS. Temat w nieodpowiednim wątku. Powinien być we frameworkach.
siuda
Przepraszam za zły dział, ale wydawało mi się, że jestem w dziale "frameworki" (proszę o przeniesienie). Jednak widzę, że nie obejdzie się bez layoutów, bo w innym wypadku to nie ma sensu. Dzięki bardzo za podpowiedź. Myślałem, że jednak mogę to jakoś na początku nauki przeskoczyć.
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.