我有两个观点,即views/pages/home.php
和views/pages/search_result.php
。我有一个控制器来加载这个视图,即controllers/Pages.php
。此外,我在视图中还有一个文件夹,即views/templates/header.php
和views/templates/footer.php
当我指向浏览器http://localhost/codeigniter/home
一切正常时。
但问题是,当我将浏览器指向http://localhost/codeigniter/search_result
时,视图footer.php
也会显示。实际上search_result.php
我的控制器代码是,
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Pages extends CI_Controller {
public function home($page = 'home')
{
//code to show home.php (http://localhost/codeigniter/home)
if (!file_exists(APPPATH.'/views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
else
{
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
}
}
public function search_result($page = 'search_result') {
//code to show search_result.php (http://localhost/codeigniter/search_result)
}
}
在search_result
内部功能我没有给出任何代码,当我指向http://localhost/codeigniter/search_result
时,函数home
的页脚显示ie $this->load->view('templates/footer', $data);
出错了什么。有没有解决方案来解决这个问题。我是codeigniter的初学者。
答案 0 :(得分:1)
只需尝试这个
public function home()
{
//code to show home.php (http://localhost/codeigniter/home)
if (!file_exists(APPPATH.'/views/pages/home.php'))
{
// Whoops, we don't have a page for that!
show_404();
}
else
{
$this->load->view('templates/header', $data);
$this->load->view('pages/Home', $data); # changed
$this->load->view('templates/footer', $data);
}
}