Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] Pobranie parametrów w Bootstrapie
Sajrox
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

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


Witam,

Mam pewien dylemat. Buduje panel admin. w ZF i chciałbym aby w pliku layout.phtml który jest ładowany w Bootstrap.php, była możliwość wyświetlenia nazwy parametrów (akcji, moduły itd..). Potrzebuje to do tego aby określić który kontroler jest obecnie uruchomiony aby zaznaczyć w nawigacji to, przez zmianę koloru linka obecnie aktywnego.

Plik Bootstrap.php
  1. class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
  2. {
  3. protected function _initAutoload()
  4. {
  5. $autoloader = new Zend_Application_Module_Autoloader(array(
  6. 'namespace' => '',
  7. 'basePath' => APPLICATION_PATH,
  8. ));
  9.  
  10. return $autoloader;
  11. }
  12.  
  13. protected function _initDoctype()
  14. {
  15. // Załadowanie szblonu
  16. $this->bootstrap('layout');
  17. $layout = $this->getResource('layout');
  18. $view = $layout->getView();
  19.  
  20. // Załadowanie ustawień panelu administracyjnego
  21. $navigation = new Zend_Config_Ini('_admin.ini', 'navigation');
  22. $view->navigation = $navigation;
  23.  
  24. // Załadowanie patametrów
  25. // $params = $this->getRequest()->getParams(); // <- TO NIE DZIAŁA
  26.  
  27.  
  28. // Ustawienie strony
  29. $view->doctype('XHTML1_STRICT');
  30. $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
  31. $view->headTitle()->setSeparator(' - ');
  32. $view->headTitle('Panel administracyjny');
  33. }
  34. }


Jak mogę to rozwiązać ? Gdy pobieram parametry w Kontrolerze (IndexController.php) to wszystko jest ok ale nie wyświetlają się w pliku layout.phtml. Zapewne dlatego że plik ten jest łądowany przed Kontrolerem.

Także mile widziane sugestie co do powyższego kodu (IMG:style_emoticons/default/winksmiley.jpg)


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sajrox
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

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


U mnie to wygląda tak:

Mam kontroler globalny po którym dziedziczą inne kontrolery i w nim metodę:
  1. public function navigation()
  2. {
  3. # Produkty
  4. # =====>
  5. $_page =
  6. 'label' => 'Produkty',
  7. 'action' => 'index',
  8. 'controller' => 'produkty',
  9. );
  10.  
  11. $_page['pages'] =
  12. 'label' => 'Dodaj produkt',
  13. 'action' => 'dodaj',
  14. 'controller' => $_page['controller']
  15. ),
  16. 'label' => 'Lista produktów',
  17. 'action' => 'index',
  18. 'controller' => $_page['controller']
  19. ),
  20. );
  21. $pages[] = $_page;
  22. # <=====
  23.  
  24. $container = new Zend_Navigation($pages);
  25. return $container;
  26. }


Wywołuję to
  1. $this->view->navigation = $this->navigation();


I w widoku już w pętli foreach i ifami wyświetlam i zaznaczam która strone jest aktywna.
Ale nie wiem jak zrobić taki efekt, aby wszystkie kategorie nadrzędne miałe zmienną "active" ustawioną na 1.
O ile w ogóle da się taki efekt uzyskać.

Oczywiście pomijajać to że mogę pobawić się ifami i sobie sam sprawdzić która kategoria nadrzędna jest aktywna.
MOżesz wkleić jakiś swój przykład jak Ty to rozwiązałeś ?
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: 16.10.2025 - 03:37