2012-02-13 70 views
3

嘿傢伙我堅持一個非常基本的問題,好的問題是這是我想要一個主模板,我可以調用標題,正文和頁腳。我無法在標題中發送標題和CSS,並且如何發送多個CSS文件。我做這樣的事情:在CodeIgniter中創建一個主模板

這是在控制器代碼

$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> 

回答

10

嗨在codeigniter中使用模板有不同的方法。

1 - 您可以使用此過程

在控制器

$data['main_content'] = 'login_view'; 
$data['title']  = 'Login To WePOS'; 
$data['css']   = 'login-box.css'; 
$this->load->view('templates/default',$data); 

在template.php文件查看

$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" /> 
    } 
} 

希望它能幫助。

+0

鏈接不再工作。 – Gogol 2014-10-16 06:33:01

+0

是的感謝通知,鏈接被刪除 – chhameed 2014-10-16 09:21:23

2

您不必在默認模板中再次傳遞$ 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" /> 
} 

希望幫助...