0

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

0 回答 0