2012-03-10 18 views
2

私はlandingpage.php表示複数のビュー単一ページCodeIgniterのMVC

と呼ばれるコントローラを持って
<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class LandingPage extends CI_Controller { 

    public function index() 
    { 
/*header*/ $head = $this->load->view('header_meta', '', true); 
      $this->load->view('index', array('head' => $head)); 

/*guts*/ $guts = $this->load->view('Landing_Guts', '', true); 
      $this->load->view('index', array('guts' => $guts)); 

/*footer*/ $foot = $this->load->view('footerLanding', '', true); 
      $this->load->view('index', array('foot' => $foot)); 
    } 
} 

footerLanding:

<div id="redStripe_a"> </div> 
</div><!--/container_a--> 
<div id="footer_a"> 
      <ul id="footer"> 
       <li><a href="#">About</a></li> 
       <li><a href="#">Blog</a></li> 
       <li><a href="#">Contact</a></li> 
       <li><a href="#">Press</a></li> 
       <li><a href="#">Terms</a></li> 
       <li><a href="#">Privacy</a></li> 
       <li><a href="#">Feedback</a></li> 
       <li><a href="#">Jobs</a></li> 
       <span class="red" style="float:right;font-size:0.8em;">&copy; 2012 Co,Inc.</div></span> 
       </ul><!--/footer :: ul--> 


<div id="clearB"> </div> 
    </div><!--/footer_a--> 

index.phpを(ビュー)

<?php echo $head; ?> 

<body> 
<?php echo $guts; ?> 
</body> 

<?php echo $foot; ?> 

ロード時にページに次のエラーが表示されますが、コードがビューに配置されていると、View Sourceビューのソースコードに含まれています。

img1 img2

答えて

3

ビューを適切に読み込む方法についていくつかお読みになりたいと思うかもしれません。

public function index(){ 
    // Load each view ONCE 
    $data = array(
     'head' => $this->load->view('header_meta', '', true), 
     'guts' => $this->load->view('Landing_Guts', '', true), 
     'foot' => $this->load->view('footerLanding', '', true) 
    ); 

    // Load index view ONCE, passing variables in data array 
    $this->load->view('index', $data); 
} 

コードはテストされていませんが、それは一般的な考えです。また、私はあなたのビューファイルのための単一の命名規則を守ることをお勧めします。

+0

ありがとうMadbreaks! – CodeTalk

2
あなたはすべてを一度に indexビューに文字列としてあなたのサブビューを渡したいでしょう

public function index() 
{ 
    $data = array(
    'head' => $this->load->view('header_meta', '', true), 
    'guts' => $this->load->view('Landing_Guts', '', true), 
    'foot' => $this->load->view('footerLanding', '', true) 
); 

    $this->load->view('index', $data); 
} 

を今、あなたが効果的に、あなたのヘッダーを渡してレンダリングしていますビュー、勇気を渡して、ビューをレンダリング、足を渡し、ビューをレンダリング、そして...まあ...あなたはアイデアを得る。表示されているエラーは、最初にindexをロードしようとしたときの結果です。$guts$footがロードされていないため、$indexechoになりました。

+0

Rjz、ありがとう! ! – CodeTalk

関連する問題