Как справедливо предложено Dont_panic, не используйте $
в ключе
Кроме того, передача стольких параметров всегда вызовет проблемы такого рода, вы должны запомнить их последовательность и передать их соответствующим образом.
Если вы хотите динамически загружать файлы CSS и JS для каждой страницы, для которой требуется ее запуск.Используйте базу данных для извлечения файлов подкачки в нужный вам массив и используйте его с помощью foreach($file['css'] as $key => $value)
и foreach($file['js'] as $key => $value)
или создайте массив в модели и верните.
Пример
public function get_contact_files() {
$params['css'] = array(
0 => 'assets/css/file_1.css',
1 => 'assets/css/file_2.css',
2 => 'assets/css/file_3.css',
);
$params['js'] = array(
0 => 'assets/js/file_1.js',
1 => 'assets/js/file_2.js',
2 => 'assets/js/file_3.js',
);
return $params;
}
Inконтроллер
$data['common'] = array(
'page_title' => 'My Page Title',
'page_heading' => 'My Page Heading'
);
$this->load->model('File_model');
$data['file'] = $this->File_model->get_contact_files();
В поле зрения
<html>
<head>
<title><?php echo $common['page_title']; ?></title>
<?php foreach($file['css'] as $key => $value) { ?>
<link rel="stylesheet" href="<?php echo base_url($value); ?>">
<?php } ?>
</head>
<body>
<h1><?php echo $common['page_heading']; ?></h1>
<?php foreach($file['js'] as $key => $value) { ?>
<script src="<?php echo base_url($value); ?>"></script>
<?php } ?>
</body>
</html>
Предложение 1: Существует встроенная библиотека шаблонов на случай, если вы хотите использовать
В контроллере
$this->load->library('parser');
$data = array(
'page_title' => 'My Page Title',
'page_heading' => 'My Page Heading'
);
$this->parser->parse('ur_page_view', $data);
По вашему мнению
<html>
<head>
<title>{page_title}</title>
</head>
<body>
<h1>{page_heading}</h1>
</body>
</html>
Предложение 2: Если вы хотите передать одну и ту же переменную во всех функциях этого конкретного контроллера, используйте
<?php
class Page extends CI_Controller{
function __construct()
{
parent::__construct();
$data['page_title'] = 'My Page Title';
$data['page_heading'] = 'My Page Heading';
$this->load->vars($data);
}
function name()
{
$this->load->view('ur_page_view',$data);
}
В поле зрения
<html>
<head>
<title><?php echo $page_title; ?></title>
</head>
<body>
<h1><?php echo $page_heading; ?></h1>
</body>
</html>
Пожалуйста, проголосуйте, если это было полезно