Postanowilem zalozyc ten temat, poniewaz na poczatku mojej przygody z ZF2 rodzi sie wiecej pytan niz odpowiedzi

Dlatego, zeby nie mnozyc tematow, bede otwieral poszczegolne 'pytania' tutaj i zamykal po uzyskaniu odpowiedzi (przez kogos lub przez siebie

Jezeli moge to prosilbym o wylacznosc w zadawaniu pytan, bo nie chce, zeby zrobil sie tutaj smietnik.
A wiec
*** PYTANIE 1 ***
Cel: globalne elementy widoku
Wezmy taki przyklad. Mamy strone na ktorej jest u gory jakas belka z menu. W zaleznosci od modulu moze sie ona roznic "aktywnym" elementem.
Mamy 2 moduly: Application i Test, 2 kontrolery i 2 systemy plikow.
I teraz: w module Application tworze 2 pliki widoku:
upMenu.phtml
<div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> </a> <div class="nav-collapse collapse"> <ul class="nav"> </ul> </div> </div> </div> </div>
i powiedzmy footer (to juz malo wazne).
Jak widac w upMenu przykladowo w zaleznosci od zmiennej $active aktywujemy ktorys z elementow menu.
Teraz w Application w konstruktorze kontrolera IndexController definiujemy zmienna view, ktorej przypisujemy ViewModel(). Wyglada to tak:
class IndexController extends AbstractActionController { protected $view; public function __construct() { $this->view = new ViewModel(); $menuBar = new ViewModel(); $menuBar->setTemplate('application/index/upMenu.phtml'); $this->view->addChild($menuBar, 'menu'); } public function indexAction() { return $this->view; } }
I wszystko ladnie gra po wejsciu na strone 'glowna'.
Ale teraz czas na zmiane modulu i tu jest problem, jak sie dostac z modulu Test do upMenu.phtml
Requested scripts may not include parent directory traversal ("../", "..\" notation)
... juz wiem, ze tak sie nie da

Myslalem, zeby umiescic ta belke w layoucie, ale jak przekazac (czy w ogole sie da) zmienna do layoutu, bo jedyne co tam jest to $this->content;
Czy da sie zrobic "globalne" elementy widoku? Jak je zdefiniowac i gdzie?
**** ODPOWIEDZ NA PYTANIE ****
Sam rozkminilem

Dla potomnosci

stworzylem sobie w "/" Folder View a w nim folder Templates gdzie umiescilem UpMenu.phtml
nastepnie w pliku konfiguracyjnym obydwu modulow Application i Test dodalem
'application/upMenu' => 'View/templates/upMenu.phtml', //linia dodana ),
po czym dokonalem zmiany w konstruktorze na juz zdefiniowany element widoku
$menuBar->setTemplate('application/upMenu');
Ot cala filozofia

Koniec pytania, uwagi przyjme

*****************************
****** PYTANIE NR 2 **********
Cel: logowanie, autoryzacja.
Staram sie rozkminic jak to ugryzc, ale nie moge nic wymyslec realnego poki co.
Ok, w konstruktorze mozna sprawdzac autoryzacje (czy sesja nie wygasla, czy sesyjne userid ma odniesienie w bazie), jezeli nie to mozna albo zrobic przekierowanie, albo po prostu zmienic widok

Ale jak i gdzie rozpisac sama autoryzacje.
Chodzi mi o model z autoryzacja, bo przydaloby sie, zeby byl tak samo gobalny jak widoki z wczesniejszego tematu... tylko gdzie taki widok umiejscic? Czy zrobic osobny modul, ktory nazwac np Authorisation i tam wsadzic i widok 'nologged' i model, w przypadku niespelnienia warunku autoryzacji przekierowywac wlasnie tam?
a w innych modulach includowac np Authorisation\Model\Authorisation??