Есть много способов сделать это.
1) Шаблонирование: это мое предпочтение в большинстве случаев (поскольку мои шаблоны сложны), я отображаю свое представление в переменную, используя что-то вроде:
$content = $this->load->view('myview', $page_data, true);
Затем я загружаю его в анализатор шаблонов (к вашему сведению, вы также можете загрузить его в другое представление) следующим образом:
$this->load->library('parser');
$data = array(
'page_title' => 'My Page Title',
'page_content' => $content,
'side_bar' => side_bar(), // function which generates your side bar
'right_col' => right_col() // function which generates your right column
);
$this->parser->parse('my_template', $data);
Тогда ваш шаблон выглядит так:
<html>
<head>
<title>{page_title}</title>
</head>
<body>
<div>{side_bar}</div>
<div>{page_content}</div>
<div>{right_col}</div>
</body>
</html>
2) Загрузить другое представление в вашем представлении: (предполагается, что ваше меню - это представление, а не контроллер). Примерно так:
<?php $this->load->view('menu_view'); ?>
3) PHP включает в себя: как именно это сделать на простом PHP (просто включите URL, указывающий на контроллер, который возвращает меню), что-то вроде этого:
<?php include("/common/sidebar"); ?>
Codeigniter отобразит эту страницу и затем включит ее.
4) AJAX. Я использую это, если содержимое в «шаблоне» менее важно, например, баннеры, предлагаемые списки связанных элементов и т. Д.