Фон
Я использую эту пользовательскую модификацию Codeigniter, чтобы позволить мне использовать верхний и нижний колонтитулы stati c. Но так как я начал использовать его всякий раз, когда я создаю папку в своей папке представлений и помещаю туда свой файл представления и пытаюсь загрузить представление, он не передает переменные в представление из контроллера.
Код
Модификация для заголовка и нижнего колонтитула stati c
<?php
class MY_Loader extends CI_Loader {
public function template($template_name, $vars = array(), $return = FALSE) {
if($return):
$content = $this->view('common/header', $vars, $return);
$content .= $this->view($template_name, $vars, $return);
$content .= $this->view('common/footer', $vars, $return);
return $content;
else:
$this->view('common/header', $vars);
$this->view($template_name, $vars);
$this->view('common/footer', $vars);
endif;
}
}
Это прекрасно работает, но только если я помещаю свой файл вида в сама папка view, вторая, которую я помещаю в подпапку в папке views, через которую переменные не проходят.
Контроллер, использующий функцию моего шаблона
<?php
class Welcome extends CI_Controller {
public function index()
{
$data['test'] = 'test';
$this->load->template('sheets/welcome_message',$data);
}
}
Подводя итог
Если я добавлю представление welcome_message. php в папку представлений, переменные будут правильно переданы.
Если я помещу представление в подпапку в папке основного вида, через которую переменные не пропускаются.
Я не уверен, почему это происходит, ломает мой мозг, но ничего очевидного не выделяется.