移动到托管服务器时调用未定义的方法 CI_Loader::template()
Call to undefined method CI_Loader::template() when move to hosting server
我正在使用 CI 3,所有功能区都在我的本地服务器上运行。
但是当我将它上传到虚拟主机服务器时,它给我这个错误:
Call to undefined method CI_Loader::template()
我的控制器 "Main.php" 有代码:
class Main extends CI_Controller {
function __construct() {
parent::__construct();
/* enable session */
//$this->output->enable_profiler(TRUE);
}
public function index() {
if ( ! file_exists(APPPATH.'/views/admin/main.php'))
{
/* Whoops, we don't have a page for that! */
show_404();
}
$data['menu'] = $this->load->view('templates/menu', $data, TRUE);
$data['title'] = "EGB | Main";
$this->load->template('admin/main', $data);
//$this->load->view('admin/main', $data);
}
}
并且在 "My_Loader.php" 中有:
class MY_Loader extends CI_Loader {
public function template($template_name, $vars = array(), $return = FALSE)
{
if($return):
$content = $this->view('templates/header', $vars, $return);
$content .= $this->view($template_name, $vars, $return);
$content .= $this->view('templates/footer', $vars, $return);
return $content;
else:
$this->view('templates/header', $vars);
$this->view($template_name, $vars);
$this->view('templates/footer', $vars);
endif;
}
}
有什么问题吗?
提前致谢。
您的核心文件名应与 class 名称匹配。
尝试将文件名更改为
core/MY_Loader.php
而不是
core/My_Loader.php
必须是
MY_Loader.php
只有。前缀固定。
我正在使用 CI 3,所有功能区都在我的本地服务器上运行。
但是当我将它上传到虚拟主机服务器时,它给我这个错误:
Call to undefined method CI_Loader::template()
我的控制器 "Main.php" 有代码:
class Main extends CI_Controller {
function __construct() {
parent::__construct();
/* enable session */
//$this->output->enable_profiler(TRUE);
}
public function index() {
if ( ! file_exists(APPPATH.'/views/admin/main.php'))
{
/* Whoops, we don't have a page for that! */
show_404();
}
$data['menu'] = $this->load->view('templates/menu', $data, TRUE);
$data['title'] = "EGB | Main";
$this->load->template('admin/main', $data);
//$this->load->view('admin/main', $data);
}
}
并且在 "My_Loader.php" 中有:
class MY_Loader extends CI_Loader {
public function template($template_name, $vars = array(), $return = FALSE)
{
if($return):
$content = $this->view('templates/header', $vars, $return);
$content .= $this->view($template_name, $vars, $return);
$content .= $this->view('templates/footer', $vars, $return);
return $content;
else:
$this->view('templates/header', $vars);
$this->view($template_name, $vars);
$this->view('templates/footer', $vars);
endif;
}
}
有什么问题吗?
提前致谢。
您的核心文件名应与 class 名称匹配。
尝试将文件名更改为
core/MY_Loader.php
而不是
core/My_Loader.php
必须是
MY_Loader.php
只有。前缀固定。