Hi all,
In a CI HMVC project, I created a module for managing navigation and breadcrumbs of the site.
In each module (take the example 'Start' module), I try to load the 'custom' menu and breadcrumb views (partials) by placing the following code at the end of the constructor:
PHP Code:
Class Start extends MX_Controller
{
// Some class properties...
// ...
// $data contains all vars used in template and view files
$data = [];
public function __construct()
{
parent::__construct();
// Some other code
// ...
// Navigation & breadcrumb view partials
$location = array(
'active_method' => $this->router->fetch_method(),
'active_class' => $this->router->fetch_class(),
'active_module' => 'start'
);
$this->data['topnavigation'] = modules::run('navigation/topnavigation', $location);
$this->data['breadcrumb'] = modules::run('navigation/breadcrumb', $location);
}
public function index(){
die(echo $this->router->fetch_module()); // expecting 'start' BUT returning 'navigation'...
}
}
This works perfect, presenting a nice navigation and breadcrumb html snippet in any page of the (parent) 'Start' module.
BUT when I open the page 'http://mysite.io/start/index/' (containing just the simple code in the above code example), I see 'navigation' instead of 'start'!?!?
Can anyone help with this issue?
In the /application/third_party/MX/Router.php, fetch_module is coded as: