$modules = array(
'administrator' => MODPATH.'administrator',
'user' => MODPATH.'user',
'pagination' => MODPATH.'pagination',
'cache' => MODPATH.'cache', // Caching with multiple backends
'xcache' => MODPATH.'xcache', // Xcache Extension Of Cache
'database' => MODPATH.'database', // Database access
'image' => MODPATH.'image', // Image manipulation
'orm' => MODPATH.'orm', // Object Relationship Mapping
'admin' => MODPATH.'admin',
//'admin1' => MODPATH.'admin1',
'codetest' => MODPATH.'codetest',
'auth' => MODPATH.'auth', // Basic authentication
'core' => MODPATH.'core',
'email' => MODPATH.'email',
);
注意这里的模块加载顺序,先是加载admin模块。而且默认的route路由我们把它注释了(这是直接路由至application中mvc)。//Admin后台管理模块
enable_module('admin',array('administrator','pagination','admin','database','cache','orm','xcache','database','auth','core','email','codetest'));
enable_module('device',array('administrator','pagination','admin','database','cache','orm','xcache','database','auth','core','email','codetest'));foreach($module_array as $k=>$v)
{
$modules_load[$v] = $modules[$v];
}
function enable_module($domain,$modules)
{
global $module_array;//这里是为了判断不同的前缀域名加载不同的模块用的
//if (strpos($_SERVER['HTTP_HOST'], $domain) !== FALSE)
//{
$module_array = $modules;
//}
}
Kohana::modules($modules_load);
//Route::set('default', '(<controller>(/<action>(/<id>)))')
// ->defaults(array(
'controller' => 'index',
'action' => 'index',
// ));
//
仔细看。<?php defined('SYSPATH') or die('No direct script access.');
// Catch-all route for Admin classes to run
Route::set('admin', 'admin(/<directory>(/<controller>(/<action>(/<id>))))',array('id'=>'.*'))
->defaults(array(
'controller' => 'main',
'action' => 'index',
'directory' => 'dashboard',
));
Route::set('default', '(<controller>(/<action>))')
->defaults(array(
'controller' => 'main',
'action' => 'index',
'directory' => 'dashboard',
));
->defaults(array(
'controller' => 'main', //默认会直接加载admin/main控制器,即admin/main.php
'action' => 'index', //默认方法名
'directory' => 'dashboard',//这里有默认目录,因为设置了这里,所以会去加载默认的 dashboard目录
));
加载默认main视图class Controller_Dashboard_Main extends Controller_Admin{
function action_index()
{
$this->template = View::factory("dashboard/main");
}