Загрузка контроллера из другого модуля в CodeIgniter HMVC

У меня есть две установки модулей в CodeIgniter HMVC. Один из них – это шаблоны, а другой – тест.

вот папка структуры ..

  1. шаблоны
    • контроллеры
    • —–
      • —-. PHP
    • Просмотры
      • расположение
        • admin.php
        • main.php
        • user.php
    • home.php
  2. контрольная работа
    • контроллеры
      • test.php

Я добавил переменную маршрута в routes.php, которая маршрутизирует home.php как контроллер по умолчанию для шаблонов. и автоматически загружаемую библиотеку шаблонов.

Теперь, когда я обращаюсь к http://mysite.com/templates/home/index или http://mysite.com/templates/ .. он отлично работает, но когда я запускаю другой модуль (тест), он показывает ошибку. Я также попробовал echo Modules::run('templates/home/index'); но та же проблема. У меня есть текущие коды в test.php

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Test extends MX_Controller { public function index() { $this->load->module('templates'); $this->templates->index(); } } 

он говорит Unable to load the requested file: home.php

вот моя библиотека шаблонов

 <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Template { private $template_data = array(); private $headers = array(); private $CI; public function __construct() { $this->CI =& get_instance(); $this->CI->config->load('template'); } function set($name, $value) { $this->template_data[$name] = $value; } function add_header($header) { array_push($this->headers, $header); } function load($template = '', $view = '', $view_data = array(), $return = FALSE) { $this->CI = & get_instance(); $this->set('contents', $this->CI->load->view($view, $view_data, TRUE)); $this->set('headers', implode('', $this->headers)); return $this->CI->load->view($template, $this->template_data, $return); } } /* End of file Template.php */ /* Location: ./system/application/libraries/Template.php */ 

Кажется, что модуль можно загрузить без указания имени контроллера только в том случае, если имя контроллера совпадает с именем модуля :

Контроллеры могут быть загружены как переменные класса других контроллеров, используя $ this-> load-> module ('module / controller'); или просто $ this-> load-> module ('module'); если имя контроллера совпадает с именем модуля

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/overview

Попробуйте загрузить модуль следующим образом:

 $this->load->module('templates/home');