Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] Zmienna dostępna dla wspólnego widoku.
siuda
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

Ostrzeżenie: (0%)
-----


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.

Ten post edytował k_@_m_i_l 22.05.2012, 11:25:27
Go to the top of the page
+Quote Post
siuda
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.03.2012

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:42