Эй, ребята, я застрял в очень простой проблеме, хорошо, проблема в том, что мне нужен мастер-шаблон, в котором я могу назвать заголовок, тело и нижний колонтитул. Я не могу отправить заголовок и CSS в заголовке, а также как я могу отправить несколько файлов css. Я делаю что-то вроде этого:
Это код в контроллере
$data['title'] = 'Login To WePOS'; $data['css'] = base_url().'style/login-box.css'; $this->load->view('templates/default',$data);
Это код в заголовке
<head> <title><?php echo $title ?> - CodeIgniter 2 Tutorial</title> <link href=" <?php echo $css;?>" rel="stylesheet" type="text/css" /> </head>
Это код в имени шаблона по умолчанию
<html> <?php $this->load->view('templates/header', $data); ?> <body> <?php $this->load->view('login/index', $data); ?> </body> <?php $this->load->view('templates/footer', $data); ?> </html>
hi существует другой способ использования шаблона в codeigniter.
1- вы можете использовать эту процедуру
В контроллере
$data['main_content'] = 'login_view'; $data['title'] = 'Login To WePOS'; $data['css'] = 'login-box.css'; $this->load->view('templates/default',$data);
В шаблоне.php View
$this->load->view('header_view'); $this->load->view($main_content); $this->load->view('footer_view');
в основной переменной содержимого вы можете передать файл вида
если вы хотите добавить несколько css или нескольких js-файлов, вы можете использовать идею MY_MARK как
$data['cssFiles'] = array( 'login-box.css', 'other.css' );
и в вашем файле заголовка
if(is_array($cssFiles)){ foreach($cssFiles as $cssFile) { <link href="<?php echo base_url() . 'style/' . $css; ?>" rel="stylesheet" type="text/css" /> } }
Надеюсь, поможет.
Вам не нужно передавать $ data снова в свой шаблон по умолчанию.
<html> <?php $this->load->view('templates/header'); ?> <body> <?php $this->load->view('login/index'); ?> </body> <?php $this->load->view('templates/footer'); ?> </html>
Это должно позволить вам забрать переменные $ title и $ css в вашем заголовке, как вы получили в настоящее время.
Что касается отправки нескольких файлов css, создайте массив файлов, например:
$data['cssFiles'] = array( 'login-box.css', 'other.css' );
И измените код в своем заголовке:
foreach($cssFiles as $cssFile) { <link href="<?php echo base_url() . 'style/' . $css; ?>" rel="stylesheet" type="text/css" /> }
Надеюсь, это поможет…