Sunday, May 6, 2012
Module in Zend Framework
File application.ini
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
autoloadernamespaces[] = "Vts_"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 1
;enable module
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.view[] =
;Set run bootstrap module.
resources.modules[] = "default"
resources.modules[] = "admin"
;set module default
resources.frontController.defaultModule = "default"
resources.layout.layout = "layout"
resources.layout.layoutpath = APPLICATION_PATH "/layouts/scripts/default/"
admin.resources.layout.layout = "layout"
admin.resources.layout.layoutpath = APPLICATION_PATH "/layouts/scripts/admin/"
;create plugin layout
resources.frontController.plugins.layout = "Application_Plugin_Layout"
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password =
resources.db.params.dbname = tincongnghevn
resources.db.isDefaultTableAdapter = true
resources.db.params.driver_options.1002 = "SET NAMES UTF8;"
Plugin layout
<?php
class Application_Plugin_Layout extends Zend_Controller_Plugin_Abstract {
public function preDispatch() {
$front = Zend_Controller_Front::getInstance();
$request = $front->getRequest();
$layout = Zend_Layout::getMvcInstance();
$module = $request->getModuleName();
switch ($module) {
case 'admin': {
$layout->setLayoutPath(APPLICATION_PATH.'/layouts/scripts/'.$module);
$layout->setLayout('layout');
break;
}
default:{
$layout->setLayoutPath(APPLICATION_PATH.'/layouts/scripts/default');
$layout->setLayout('layout');
break;
}
}
}
}
?>
Bootstrap Admin
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initAutoload(){
$autoloader = new Zend_Application_Module_Autoloader(array(
'basePath' => APPLICATION_PATH.'/modules/admin/',
'namespace' => 'Admin_'
));
return $autoloader;
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment