Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Zend_Layout
wlamywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Tworze swój pierwszy projekt w tym frameworku. W swoim szablonie w zależności od potrzeb generuje dwa rodzaje menu, jak rozwiązać problem renederowania wybranego menu w zależności od wybranego w kontrolerze?

http://framework.zend.com/manual/en/zend.l...quickstart.html
  1. <body>
  2.    <!-- renders /nav/menu -->
  3.    <div id="nav"><?= $this->layout()->nav ?></div>
  4.  
  5.    <!-- renders /foo/index + /comment/fetch -->
  6.    <div id="content"><?= $this->layout()->content ?></div>
  7. </body>


Jak np. tu layout()->nav
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qba_rox
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 12.01.2009
Skąd: Warszawa

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


w kontrolerze twojej glownej akcji:

  1. <?php
  2. $this->_helper->actionStack('top', 'menu', 'general');
  3. ?>


kod powyzej, dodaje do petli dispatchera akcje top z controllera menu w module general, ale ten kod powyzej nam nie starcza, bo mimo ze menu zostanie wygenerowane, to wynik zostanie dopisany do glownego segmentu obiektu response (content), dlatego pod koniec akcji top nalezy to zmienic, uzyjemy jednej z najlatwiejszych mozliwosci:
  1. <?php
  2. $this->render('nazwa templata, ktora moze byc nullem i wtedy bedzie wyrenderowany defaultowy dla akcji', 'nazwe segmentu, w twoim wypadki menu')
  3. ?>


oczywiscie mozna to wyszstko tak fajnie usystematyzowac uzywajac pluginow i innych magicznych sztuczek ale to inny temat. pozdrawiam

w kontrolerze twojej glownej akcji:

$this->_helper->actionStack('top', 'menu', 'general');

kod powyzej, dodaje do petli dispatchera akcje top z controllera menu w module general, ale ten kod powyzej nam nie starcza, bo mimo ze menu zostanie wygenerowane, to wynik zostanie dopisany do glownego segmentu obiektu response (content), dlatego pod koniec akcji top nalezy to zmienic, uzyjemy jednego z najlatwiejszych mozliwosci:
  1. <?php
  2. $this->render('nazwa templata, ktora moze byc nullem i wtedy bedzie wyrenderowany defaultowy dla akcji', 'nazwa segmentu, w twoim wypadki menu')
  3. ?>


oczywiscie mozna to wyszstko tak fajnie usustematyzowac uzywajac pluginow i innych magicznych sztuczek ale to inny temat. pozdrawiam

Ten post edytował qba_rox 21.01.2009, 01:37:46
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 07:59