Для загрузки представлений в CodeIgniter мне нужно повторить загрузку фиксированных просмотров (верхний и нижний колонтитул), которые немного раздражают, чтобы их повторять для каждого контроллера, связанного с просмотром.
В настоящее время, когда я хочу загрузить представления в CI, я делаю следующее:
$this->load->view("header"); $this->load->view("index"); $this->load->view("footer");
Затем, как я могу изменить $this->load->view();
для получения параметра (например, boolean), который позволяет загружать представление до / после целевого представления. Например, такой:
$this->load->view("index", TRUE, FALSE, $data); // TRUE=>header FALSE=>footer $data=>common variable
Можно ли взломать такую функцию?
Вы можете делать с library
.
Создайте новый файл библиотеки с именем template.php
и напишите функцию load_template
. В этой функции используйте код выше.
public function load_template ($ view_file_name, $ data_array = array ()) {
$ ci = & get_instatnce ();
$ CI-> load-> Вид ( "заголовок");
$ CI-> load-> Вид ($ view_file_name, $ data_array);
$ ci – >> load-> view ("footer");
}
Вам необходимо загрузить эту библиотеку в файл автозагрузки в папке конфигурации. поэтому вы не хотите загружать весь контроллер.
Вы можете использовать эту функцию как
$ This-> template-> load_template ( "индекс");
Если вы хотите передать дату для просмотра файла, вы можете отправить через $data_array
попробуйте эту библиотеку, это сработало для меня, когда я ее использовал