У меня есть два вида, то есть views/pages/home.php
и views/pages/search_result.php
. У меня есть контроллер для загрузки этих просмотров, то есть controllers/Pages.php
. А также у меня есть еще одна папка внутри вида, то есть views/templates/header.php
и views/templates/footer.php
контроллер для просмотра не работает codeigniter
Когда я указываю браузер на 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
показывает т.е. $this->load->view('templates/footer', $data);
Что делает неправильно. Есть ли решение для решения этой проблемы. Я новичок в кодеригенере.
если этот адрес HTTP: // локальный/CodeIgniter/дом вызывает контроллер Pages, то есть, вероятно, какой-то код в приложении/Config/routes.php, что вы должны смотреть на , потому что маршруты - это типичный способ вызывать имя контроллера, отличное от адреса URL. – cartalot