2010-11-29 4 views

ответ

1

Просто создайте представление для заголовка и представление нижнего колонтитула и выплюнете их вверху и внизу каждой страницы. Или создайте представление шаблона и загрузите его, затем возьмите другие представления и введите их в область содержимого шаблона. В любом случае вы получите то, что захотите. Если вы хотите, чтобы это произошло автоматически, вы можете создать представление шаблона в конструкторе контроллера и сохранить его в член класса контроллера. Затем используйте его так, чтобы сказать, что шаблон $ this-> будет шаблоном.

+0

Вы говорите, я бы добавить load-> вида («заголовка»)?> В верхней части каждой точки зрения? – roger 2010-11-29 13:30:53

+0

Вы можете сделать это в верхней части каждого основного вида, да. Но не КАЖДЫЙ вид. Тем не менее, я говорил в верхней части каждого метода контроллера. – DampeS8N 2010-11-29 13:33:27

10

Вы можете создать мастер-представление.

просмотры/master.php

$this->load->view('header'); 
echo $content; 
$this->load->view('footer'); 

И затем создать базовый контроллер с методом для визуализации вида мастера. Содержимое подвью загружается и переходит к главному виду.

библиотеки/MY_Controller.php

class MY_Controller extends Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function master_view($content_view, $data) 
    { 
     $data['content'] = $this->load->view($content_view, $data, true); 
     $this->load->view('master', $data); 
    } 
} 

Затем расширить этот базовый контроллер и вызвать метод базового контроллера от методов действий.

Контроллеры/items.php

class Items extends MY_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function index() 
    { 
     $data['items'] = $this->item_model->get_items(); 
     $this->master_view('items/index', $data); 
    } 
} 

Это имеет тенденцию быть более DRY, чем загрузка колонтитулы в каждом представлении.

0

Подобно выше, я делаю это так:

$this->data['content']='your_content_view'; 
$this->load->vars($this->data); 
$this->load->view('template'); 

Затем в окне шаблона:

$this->load->view('header'); 
$this->load->view($content); 
$this->load->view('footer'); 

Представления могут загружать другие представления, поэтому вид шаблона загружает вид заголовка, то представление, которое вы указываете в контенте, а затем представление нижнего колонтитула.

Используя эту идею, вы можете загрузить боковую панель открывается вид на содержание и т.д.

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