2015-12-06 3 views
0

У меня есть два вида, то есть 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);

Что делает неправильно. Есть ли решение для решения этой проблемы. Я новичок в кодеригенере.

+1

если этот адрес HTTP: // локальный/CodeIgniter/дом вызывает контроллер Pages, то есть, вероятно, какой-то код в приложении/Config/routes.php, что вы должны смотреть на , потому что маршруты - это типичный способ вызывать имя контроллера, отличное от адреса URL. – cartalot

ответ

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); 
    } 
} 
+0

выше код работает для 'home.php'. но я хочу отобразить вторую страницу 'search_reult.php' –

Смежные вопросы