For some frustrating reason, I configured some Modules, which seemed to work fine, However I cannot load a Modules Models. If I move the Models to the Default they load, but I just can't get the Framework to find them locally..
Example:
My Modules Directory is:
application\modules\books\models\books.php (books is my Model)
class Application_Module_Books_Model_Books extends Zend_Db_Table_Abstract {}
I also tried..
Books_Model_Books, Model_Books, books, Modules_.. you name it I tried it :)
My controller is in the Books Module, and is an Index Controller, and it can never find the Local Model.
I'm using Application.ini and it is configured this way:
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 1
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
I have a BootStrap in the Modules Directory:
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap { }
I'm on Zend Framework 1.10, and ideas.. ?
What just fixed it for me was to add the following line to application.ini
resources.modules[]=
Then i added a Bootstrap.php to the module directory ('application\modules\books\')
Move the books model to 'application\modules\books\models\Books.php'
Now you should be able to load the model in the IndexController
In the application.ini, add a simple line:
and in the method _initAutoload() inside the Bootstrap put:
make sure the name of models inside each module are like
in you case, like
and that's all :D
1-feel free to delete this cuz you don't need it any more :
and place this code inside you Bootstrap.php file [application bootstrap ] not the module bootstrap
getting back to config you need also to add
here is my complete config file :
hopefully i didn't miss any thing
The correct class name would be Books_Model_Books, but the filename of that class would need to be Books.php (note the capital 'B').
You shouldn't have a bootstrap in the modules directory, but you probably do want a bootstrap for each module directory, so you'd need a class:
at: application/modules/books/Bootstrap.php (again note the capital 'B').
Check the section on the module resource autloader at http://framework.zend.com/manual/en/zend.loader.autoloader-resource.html for more info.