Если это что-то такое маленькое, как заголовок или меню, я обычно разбиваю его на части представления и определяю, какой из них отображать в представлении. Я также вызываю все остальные частичные представления внутри моего основного шаблона, поэтому для него требуется только один $this->load->view()
. Такой подход даст вам это в вашем контроллере:
class Page extends CI_Controller {
public function index()
{
$view_data['main_content'] = 'home';
$this->load->view('templates/default');
}
}
и это по вашему мнению:
$this->load->view('templates/partials/header');
if ($this->auth->logged_in())
{
$this->load->view('templates/partials/menu');
}
else
{
$this->load->view('templates/partials/index');
}
$this->load->view($main_content);
$this->load->view('templates/partials/sidebar');
$this->load->view('templates/partials/footer');
Таким образом, вы всегда вызываете один и тот же шаблон, и вы можете просто установить $main_content
, который является фактическим представлением, которое вы хотите загрузить, и все остальное, что остается неизменным со страницы на страницу, уже существует.