Welcome Guest, Not a member yet? Register   Sign In
I have a subdirectory in my controllers folder - possibly to set default controller?
#8

(This post was last modified: 10-28-2016, 08:14 PM by wolfgang1983.)

I would create A core/MY_Router.php for CI3

Link MY_Router.php

And use this



PHP Code:
<?php

class MY_Router extends CI_Router {

protected function 
_set_default_controller() {

if (empty(
$this->default_controller)) {

show_error('Unable to determine what should be displayed. A default route has not been specified in the routing file.');

}

// Is the method being specified?

if (sscanf($this->default_controller'%[^/]/%s'$class$method) !== 2) {

$method 'index';

}

// This is what I added, checks if the class is a directory

if( is_dir(APPPATH.'controllers/'.$class) ) {

// Set the class as the directory

$this->set_directory($class);

// $method is the class

$class $method;

// Re check for slash if method has been set

if (sscanf($method'%[^/]/%s'$class$method) !== 2) {

$method 'index';

}

}


if ( ! 
file_exists(APPPATH.'controllers/'.$this->directory.ucfirst($class).'.php')) {

// This will trigger 404 later

return;

}

$this->set_class($class);

$this->set_method($method);

// Assign routed segments, index starting from 1

$this->uri->rsegments = array(

=> $class,

=> $method

);

log_message('debug''No URI present. Default controller set.');

}




Then you can use default controller like $route['default_controller'] = 'admin/dashboard';
There's only one rule - please don't tell anyone to go and read the manual.  Sometimes the manual just SUCKS!
Reply


Messages In This Thread
RE: I have a subdirectory in my controllers folder - possibly to set default controller? - by wolfgang1983 - 10-28-2016, 08:13 PM



Theme © iAndrew 2016 - Forum software by © MyBB