Я следую этому базовому tutorial на Codeigniter об обслуживании статических страниц. Я последовал за все шаги, и я на это:Codeigniter view vs index
class Pages extends CI_Controller {
public function view($page = 'home')
{
if (! file_exists(APPPATH.'/views/pages/'.$page.'.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$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);
}
}
Я скопировать и вставить его, чтобы увидеть вид, который я сделал, но это дает мне 404 Page Not Found
. Я посмотрел на другие учебники, и они, похоже, используют функцию индекса, а не функцию представления.
Например, я изменил выше к следующему, просто переименованы view
в index
:
class Pages extends CI_Controller {
public function index($page = 'home')
{
if (!file_exists(APPPATH.'/views/pages/'.$page.'.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$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);
}
}
теперь работает должным образом. Почему код учебника работает неправильно?
Вы установили: $ route ['default_controller'] = 'pages/view' ;? – sinisake
Нет. Как это влияет на это? –
вы можете изучить по маршрутизации с http://www.codeigniter.com/user_guide/general/routing.html –