witam,
mam taki oto plik index.php

  1. <?
  2. [...]
  3. Zend::loadClass('Zend_Controller_Front');
  4. Zend::loadClass('Zend_Controller_Router_Rewrite');
  5.  
  6. $router = new Zend_Controller_Router_Rewrite();
  7. $controller = Zend_Controller_Front::getInstance();
  8. $controller ->setControllerDirectory(array(
  9. 'default'=>'../app/controllers/',
  10. 'admin'=>'../app/admin/controllers/'))
  11. ->setRouter($router);
  12. $controller->dispatch();
  13. ?>


taka jest struktura katalogów:
apps/
admin/
controllers/
views/
model/

controllers/
views/
model/

www/
index.php

library/
Zend.php


w momencie gdy wpisuje adres:
http://localhost/admin/
laduje sie controller z katalogu:
apps/admin/controller/indexController.php
jednak nie wykonuje sie zapisana w klasie akcja: indexAction()

  1. apps/admin/controller/indexController.php
  2. <?php
  3. echo 1;
  4. class IndexController extends Zend_Controller_Action{
  5.  
  6. public function IndexAction(){
  7. echo 2;
  8. }
  9.  
  10. }
  11. ?>


wynik to: 1

gdy wpisze:
http://localhost/
laduje sie controller z katalogu: apps/controllers/indexController.php
i wszystko działa jak powinno

  1. apps/controller/indexController.php
  2. <?php
  3. echo 1;
  4. class IndexController extends Zend_Controller_Action{
  5.  
  6. public function IndexAction(){
  7. echo 2;
  8. }
  9.  
  10. }
  11. ?>


wynik to: 12

macie jakiś pomysł na rozwiązanie problemu??


Problem rozwiazany...
zmodyfikowalem plik:
apps/admin/controller/indexController.php
  1. <?php
  2. echo 1;
  3. class IndexController extends Zend_Controller_Action{
  4.  
  5. public function IndexAction(){
  6. echo 2;
  7. }
  8.  
  9. }
  10. ?>

na:
  1. <?php
  2. echo 1;
  3. class Admin_IndexController extends Zend_Controller_Action{
  4.  
  5. public function IndexAction(){
  6. echo 2;
  7. }
  8.  
  9. }
  10. ?>


myslalem ze zawsze domyslnym controllerem jest IndexController niezalezbie od tego w jakim module sie znajduje...
moze komus sie przyda smile.gif