2017-01-11 1 views
0
public function admin($page = "admin") 
{ 

    $data['title'] = "admin"; 
    $data['menu'] = "admin"; 


    $this->load->view('tpl/header_admin',$data); 
    $this->load->view('admin/'.$page,$data); 

} 

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

public function admin($page = "admin") 
{ 

    $data['title'] = "admin"; 
    $data['menu'] = "admin"; 

    $this->load->view('tpl/header_admin',$data); 

} 

иЛИ

public function admin($page = "admin") 
{ 

    $data['title'] = "admin"; 
    $data['menu'] = "admin"; 

    $this->load->view('admin/'.$page,$data); 

} 

это все работает, я могу видеть содержимое в администраторе или заголовке, но если я ставлю два load-> вида вместе, он будет показывать только $ this-> load-> вид ('админ /'.$ страницы, $ данных); заголовок просто не будет показывать

Это то, что веб-сайт CI сказал, что нужно сделать:

$this->load->view('templates/header', $data); 
$this->load->view('pages/'.$page, $data); 
$this->load->view('templates/footer', $data); 

я не вижу другого

КСТАТИ: если я посещаю/администратор, заголовок не будет шоу, но если я посетил/admin/list, он покажет ...

первый раз, это случилось со мной, почему?

ответ

0

Попробуйте, как это ..

<?php 
public function admin($page = "admin") 
{ 

    $data['title'] = "admin"; 
    $data['menu'] = "admin"; 


    $data['header'] = $this->load->view('tpl/header_admin',$data,TRUE);//takes contains as string 
    $this->load->view('admin/'.$page,$data); 

} 

И Внутри ваш взгляд администратора/admin.php

if (isset($header)) 
{ 
    echo $header; 
} 
//Then other codes 

$data['header'] = $this->load->view('tpl/header_admin',$data,TRUE); Это утверждение берет содержит в tpl/header_admin.php виде строки с HTML-теги.

+0

вид публичной функции ($ page = 'home') { if (! file_exists (APPPATH.'views/pages /'.$ страница. '. 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); } это то, что сказал CI .. я делаю то же самое ... как не работает .. –

+0

делать точно так же, как выше код для домашней страницы. –

0

функция $ this-> load-> view()
выводит HTML-заголовок. поэтому вы не можете дважды выводить заголовок.
правильный путь
контроллер файл

public function admin($page = "admin") 
    { 
     $data['title'] = "admin"; 
     $data['menu'] = "admin"; 
     $this->load->view('admin/index'.$page,$data); 
    } 

вид файла админ/index.php

<html> 
    <?php include '../tpl/header_admin.php' ?> 
    template context..... 
    </html> 

Это способ использования файла шаблона части

+0

$ this-> load-> view ('templates/header', $ data); $ this-> load-> view ('pages /'.$ page, $ data); $ this-> load-> view ('templates/footer', $ data); это то, что сказал CI .. я не вижу разные –

+0

в любом случае, если вы используете Include в своих файлах шаблонов, это будет намного более гибким и более быстрым.если вы хотите знать, почему он не работает, отправьте код шаблона. –

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