Я предоставлю вам метод контроллера CodeIgniter, который может обрабатывать несколько статических страниц, а также несколько примеров кода. Вот пример:
class Pages extends CI_Controller {
public function view($page = 'home') {
if (!file_exists(APPPATH.'views/pages/'.$page.'.php')) {
show_404();
}
$data['title'] = ucfirst($page);
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
}
}
В этом примере у нас есть контроллер Pages
с методом view
. Параметр $page
используется для определения того, какая статическая страница должна отображаться. По умолчанию, если страница не указана, загружается страница home.php
.
Метод сначала проверяет, существует ли соответствующий файл представления. Если это не так, вызывается функция show_404()
для отображения страницы ошибки 404.
Далее метод устанавливает заголовок страницы, используя заглавную букву параметра $page
. Этот заголовок передается представлению как переменная данных.
Три оператора load->view()
используются для загрузки представлений верхнего колонтитула, содержимого страницы и нижнего колонтитула. Массив $data
передается каждому из этих представлений, что позволяет передавать данные от контроллера к представлениям.
Чтобы использовать этот метод контроллера, вы обычно определяете маршруты в файле routes.php
вашего приложения CodeIgniter. Например, вы можете добавить следующий маршрут для обработки страницы about
:
$route['about'] = 'pages/view/about';
Это сопоставит URL-адрес example.com/about
с методом view
контроллера Pages
, передав 'about'
в качестве Параметр $page
.