添加数组类时,我的视图不会加载到多个子文件夹中。我正在尝试制作一个自定义控制器类,以便可以在 codeigniter 的控制器中加载控制器。
当我加载数组/变量时,视图仅适用于第一级。广告两个或更多子文件夹时不拾取。当我将控制器添加为数组时,需要它能够拾取多个文件夹。
MY_Loader.php
public function controller($uri, $params = array(), $return = FALSE) {
// No valid module detected, add current module to uri
list($module) = $this->detect_module($uri);
if (!isset($module)) {
$router = & $this->_ci_get_component('router');
if ($router->module) {
$module = $router->module;
$uri = $module . '/' . $uri;
}
}
// Add module
$this->add_module($module);
// Execute the controller method and capture output
$void = $this->_load_controller($uri, $params, $return);
// Remove module
$this->remove_module();
return $void;
}
public function view($view, $vars = array(), $return = FALSE) {
// Detect module
if (list($module, $class) = $this->detect_module($view)) {
// Module already loaded
if (in_array($module, $this->_ci_modules)) {
return parent::view($class, $vars, $return);
}
// Add module
$this->add_module($module);
// Let parent do the heavy work
$void = parent::view($class, $vars, $return);
// Remove module
$this->remove_module();
return $void;
} else {
return parent::view($view, $vars, $return);
}
}
控制器 HMVC。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function __construct(){
parent::__construct();
}
public function index() {
$data['header'] = $this->load->controller('admin/common/header');
$this->load->view('welcome_message', $data); Work
$this->load->view('templates/welcome_message', $data); Not Work
$this->load->view('templates/common/welcome_message', $data)//Not Work
}