我有一个名为landingpage.php的控制器
<?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;">© 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
我看到它包含在视图的源代码中。
答案 0 :(得分: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);
}
代码未经测试,但这是一般的想法。另外,我建议您坚持使用视图文件的单一命名约定。
答案 1 :(得分: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
未加载,因此$index
时无效试图echo
他们。