添加数组时,CI HMVC中不会加载视图

时间:2014-05-04 13:32:46

标签: codeigniter codeigniter-hmvc

添加数组类时,我的视图不会加载到多个子文件夹中。我正在尝试创建一个自定义控制器类,因此可以在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   
}

0 个答案:

没有答案
相关问题