Chargement d'un contrôleur à partir d'un autre module dans CodeIgniter HMVC
J'ai deux modules de configuration dans CodeIgniter HMVC . On est des modèles et de l'autre, c'est de tester .
ici est la structure de dossier ..
- modèles
- contrôleurs
- home.php
- -----
- ----.php
- vues
- mise en page
- admin.php
- main.php
- user.php
- mise en page
- home.php
- contrôleurs
- test
- contrôleurs
- test.php
- contrôleurs
J'ai ajouté un itinéraire variable dans routes.php sur les routes home.php comme le contrôleur par défaut pour les modèles. auto et chargé la bibliothèque de modèles .
Maintenant, quand j'ai accès http://mysite.com/templates/home/index ou http://mysite.com/templates/ .. il fonctionne très bien mais quand je lance un autre module ( test ), il indique une erreur . J'ai aussi essayé de echo Modules::run('templates/home/index');
mais même problème . J'ai l'écoulement des codes 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();
}
}
il dit Unable to load the requested file: home.php
voici mon template library
<?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 */
Vous devez vous connecter pour publier un commentaire.
Il semble que le module peut être chargé sans préciser le nom du contrôleur de seulement si le contrôleur le nom correspond au nom du module :
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/overview
Essayez de charger le module comme ça :