2012-02-13 7 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

こんにちは、コードネイターでテンプレートを使用する別の方法があります。

1 - あなたはビューを渡すことができ、あなたのメインのコンテンツ変数にtemplate.phpビューでは、コントローラ

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

では、この手順に

$this->load->view('header_view'); 
$this->load->view($main_content); 
$this->load->view('footer_view'); 

を使用することができますファイル

複数のCSSや複数のjsファイルを追加したい場合は、

$data['cssFiles'] = array(
    'login-box.css', 
    'other.css' 
); 

としてMY_MARKのアイデアを使用することができ、あなたのヘッダファイル内

if(is_array($cssFiles)){ 
    foreach($cssFiles as $cssFile) { 
     <link href="<?php echo base_url() . 'style/' . $css; ?>" rel="stylesheet" type="text/css" /> 
    } 
} 

それがお役に立てば幸いです。

+0

リンクはもう動作しません。 – Gogol

+0

ありがとうございます、リンクは削除されています – chhameed

2

デフォルトテンプレートで$データを再度渡す必要はありません。

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

役に立てば幸い...

関連する問題