Я использую 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;
}
}
Что может быть не так?
Заранее спасибо.
Ваши имена файлов ядра должны соответствовать имени класса.
Попробуйте изменить имя файла на
ядро /MY_Loader.php
Вместо
ядро /My_Loader.php
Должно быть
MY_Loader.php
только. Префикс исправлен.