Tôi nhận được một số mã từ các bài viết khác để định cấu hình mô-đun và bố cục trong khung công tác zend. Tôi đã thử với địa phương của tôi. tôi đã không nhận được bố trí khác nhau cho module mặc định và admin. Đây là mã của tôi để cấu hình mô-đun và bố cục cho khung công tác zend.Cấu hình mô-đun và cấu hình bố cục trong khung công tác zend
configs/application.ini
[production]
# Debug output
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
# Include path
includePaths.library = APPLICATION_PATH "/../library"
# Bootstrap
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
admin.bootstrap.path = APPLICATION_PATH "/modules/admin/Bootstrap.php"
admin.bootstrap.class = "admin_Bootstrap"
# Front Controller
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.env = APPLICATION_ENV
# Session
resources.session.name = "ZendSession"
resources.session.save_path = APPLICATION_PATH "/../data/session"
resources.session.remember_me_seconds = 86400
# Layout
resources.layout.layout = "layout"
resources.layout.layoutPath = APPLICATION_PATH "/layouts"
admin.resources.layout.layout = "admin"
admin.resources.layout.layoutPath = APPLICATION_PATH "/modules/admin/layouts"
# Views
resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "/views/"
resources.view[] =
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] =
resources.view[] =
admin.resources.view[] =
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
application/Bootstrap.php
<?php
/**
* Ensure all communications are managed by sessions.
*/
require_once ('Zend/Session.php');
Zend_Session::start();
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
protected function _initDoctype() {
$this->bootstrap('view');
$view = $this->getResource('view');
$view->navigation = array();
$view->subnavigation = array();
$view->headTitle('Module One');
$view->headLink()->appendStylesheet('/css/clear.css');
$view->headLink()->appendStylesheet('/css/main.css');
$view->headScript()->appendFile('/js/jquery.js');
$view->doctype('XHTML1_STRICT');
//$view->navigation = $this->buildMenu();
}
/*protected function _initAppAutoLoad()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'default',
'basePath' => APPLICATION_PATH
));
return $autoloader;
}*/
protected function _initLayoutHelper()
{
$this->bootstrap('frontController');
$layout = Zend_Controller_Action_HelperBroker::addHelper(
new ModuleLayoutLoader());
}
public function _initControllers()
{
$front = Zend_Controller_Front::getInstance();
$front->addModuleDirectory(APPLICATION_PATH . '/modules/admin/', 'admin');
}
protected function _initAutoLoadModuleAdmin() {
$autoloader = new Zend_Application_module_Autoloader(array(
'namespace' => 'Admin',
'basePath' => APPLICATION_PATH . '/modules/admin'
));
return $autoloader;
}
protected function _initModuleutoload() {
$autoloader = new Zend_Application_Module_Autoloader (array ('namespace' => '', 'basePath' => APPLICATION_PATH));
return $autoloader;
}
}
class ModuleLayoutLoader extends Zend_Controller_Action_Helper_Abstract
// looks up layout by module in application.ini
{
public function preDispatch()
{
$bootstrap = $this->getActionController()
->getInvokeArg('bootstrap');
$config = $bootstrap->getOptions();
echo $module = $this->getRequest()->getModuleName();
/*echo "Configs : <pre>";
print_r($config[$module]);*/
if (isset($config[$module]['resources']['layout']['layout'])) {
$layoutScript = $config[$module]['resources']['layout']['layout'];
$this->getActionController()
->getHelper('layout')
->setLayout($layoutScript);
}
}
}
application/modules/admin/Bootstrap.php
<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
/*protected function _initAppAutoload()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'admin',
'basePath' => APPLICATION_PATH . '/modules/admin/'
));
return $autoloader;
}*/
protected function _initDoctype() {
$this->bootstrap('view');
$view = $this->getResource('view');
$view->navigation = array();
$view->subnavigation = array();
$view->headTitle('Module One');
$view->headLink()->appendStylesheet('/css/clear.css');
$view->headLink()->appendStylesheet('/css/main.css');
$view->headScript()->appendFile('/js/jquery.js');
$view->doctype('XHTML1_STRICT');
//$view->navigation = $this->buildMenu();
}
}
hãy đi qua nó và cho tôi biết bất kỳ biết làm thế nào để cấu hình mô-đun và bố trí đúng cách ..
Trân trọng cảm ơn,
Prasanth P
Tôi không hiểu .. tại sao các bạn lại bỏ phiếu cho bài đăng này ?. Bài đăng này gần như được nhấn vào tìm kiếm của google cũng như được xem xét bởi hầu hết mọi người !! .. –
Nếu câu trả lời sai, vui lòng bỏ phiếu để chỉ trả lời và không cho bài đăng. Cảm ơn .. –