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
seth-kk
post
Post #2





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


Uzyj helperow
w twoim przypadku problemem pewnie jest uzycie isActive() zamiast isActive(true)
u mnie jest to czesc znacznie wiekszej calosci i ostatnio wygladalo to mniejwiecej tak
  1. <!-- main menu -->
  2. <?= $this->navigation()->menu()->setUlClass('mainMenu')->setMinDepth(1)->setMaxDepth(1); ?>
  3.  
  4. <div id="pageContent" class="<?= $this->module; ?>">
  5. <!-- breadcrumbs -->
  6. <p class="naviBar">
  7. Jesteś w: <?= $this->navigation()->breadcrumbs()->setAcl(Zend_Registry::get('Zend_Acl'))->setRole('user')->setSeparator(' &raquo; '); ?>
  8. </p>
  9.  
  10. <!-- submenu -->
  11. <?= $this->navigation()->menu()->setAcl(Zend_Registry::get('Zend_Acl'))->setRole('user')->setUlClass('subMenu')->renderSubMenu(); ?>
  12.  
  13. <!-- module content -->
  14. <?= $this->layout()->content ?>
  15. </div>

To jest fragment nawigacji w layoucie, zeby dzialal poprawnie nawigacja rezyduje w rejestrze z etykieta Zend_Navigation
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: 6.10.2025 - 23:35