在我的codeigniter项目中,我已经创建了一个维护模式模块,它可以与数据库一起使用。值1是值0维护模式关闭时的维护模式。
我想让MY_Controller与我的维护模式控制器一起工作。但是一直存在页面加载错误冲突。
如果维护模式打开并且管理员被注销,我的控制器不会重定向它应该重定向到维护控制器。如果我这样做(!$this->configs->get('config_maintenance')) {
然后重定向确定但显示页面加载错误。
我的控制器。
<?php
class MY_Controller extends MX_Controller {
function __construct() {
parent::__construct();
$this->load->library('configs');
$this->load->library('user');
// For Front End Controllers Only Have extends MY
if ($this->configs->get('config_maintenance')) {
if (!$this->user->isLogged()) {
return true;
redirect('/');
} else {
return false;
redirect('maintenance');
}
}
}
}
维护控制器
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Maintenance extends MY_Controller {
function __construct() {
parent::__construct();
}
public function index() {
if ($this->configs->get('config_maintenance')) {
if (!$this->user->isLogged()) {
redirect('/');
} else {
$this->on();
}
} else {
redirect('/');
}
}
public function on() {
echo "Maintenance Mode On";
}
public function off() {
echo "Maintenance Mode Off";
}
}
答案 0 :(得分:0)
我现在修复了我的维护模式问题,我在家庭控制器上的操作是如何在维护控制器上使用扩展MY_Controller我现在使用MX_Controller工作。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Maintenance extends MX_Controller {
public function index() {
if ($this->session->userdata('isLogged')) {
redirect('/');
} else {
$this->on();
}
}
public function on() {
echo "Maintenance Mode On";
}
public function off() {
echo "Maintenance Mode Off";
}
}
MY_Controller
<?php
class MY_Controller extends MX_Controller {
function __construct() {
parent::__construct();
$this->maintenance();
}
public function maintenance() {
if ($this->configs->get('config_maintenance')) {
if (!$this->session->userdata('isLogged')) {
redirect('maintenance');
} else {
return false;
}
}
}
}