mam kolejny problem z ZF, walczyłem wczoraj do 1 w nocy no i dziś do teraz, w końcu się poddałem. Zamierzenie mam takie:
http://localhost/
odpala modul 'frontend', kontroler 'index' oraz akcję 'index' (aktualnie działa również http://localhost/frontend, http://localhost/frontend/index, http://localhost/frontend/index/index więc tu jest OK).
Równocześnie chciałbym aby wejście w:
http://localhost/admin
odpalało moduł 'admin', kontroler 'index' oraz akcję 'index' co niestety aktualnie się nie dzieje :/ Pomimo usilnych prób print_r($frontController->getRequest()) zawsze pokazje admina jako akcję, a nie moduł. W manualu znalazłem przykład:
<?php // Assuming the following: $ctrl->setControllerDirectory( 'default' => '/path/to/default/controllers', 'news' => '/path/to/blog/controllers', 'blog' => '/path/to/blog/controllers' ) ); ... Module + controller + action + params: <a href="http://example/blog/archive/list/sort/alpha/date/desc" target="_blank">http://example/blog/archive/list/sort/alpha/date/desc</a> module == blog controller == archive action == list sort == alpha date == desc ?>
czyli dokładnie to, czego potrzebuję jednak nie bardzo chce to działać

index.php
<?php require_once('../config.php'); require_once('../__autoload.php'); $db = Zend_Db::factory('Pdo_'.DB_TYPE, array('host' => DB_HOST, 'username' => DB_USER, 'password' => DB_PASS, 'dbname' => DB_BASE)); $db->setFetchMode(1); 'frontend' => PATH_MODULES.'/frontend/controllers', 'admin' => PATH_MODULES.'/admin/controllers' ); $frontController = Zend_Controller_Front::getInstance(); $frontController->setControllerDirectory($ctrls); $frontController->setDefaultModule('frontend'); $frontController->setParam('db', $db); Zend_Controller_Front::run(array(PATH_MODULES.'/admin/controllers', PATH_MODULES.'/frontend/controllers')); ?>
Zauważyłem, że jeśli zmienię kolejność w tablicy przekazywanej do Zend_Controller_Fron::run() to zawsze używany jest ten ostatni moduł.
Reasumując: w jaki sposób zmusić ZF aby:
http://localhost/ (+ ew. parametry) ładowało dane z 'frontend' <- myślałem, że osiągnę to przez $frontController->setDefaultModule('frontend');
http://localhost/admin (+ ew. parametry) ładowało dane z 'admin'.
Uproszczona struktura moich katalogów:
/ --- app ------ admin --------- controllers --------- models --------- views ------ frontend --------- controllers --------- models --------- views --- www ------ .htaccess ------ index.php --- __autoload.php --- config.php
Proszę o pomoc bo nie wiem jak to ugryźć :/