2013-07-24 209 views
0

我想弄清楚爲什麼當我加載這個控制器時,它說未定義的索引體當我用庫的構建方法建立主體時。我使用phil sturgeon的1.9版本的模板庫。未定義的索引體

<?php 

if (!defined('BASEPATH')) 
exit('No direct script access allowed'); 

class Control_panel extends Backend_Controller 
{ 
public function __construct() 
{ 
    parent::__construct(); 
} 

public function index() 
{ 

    $this->template 
     ->title('Control Panel') 
     ->set_layout('control_panel_view') 
     ->set_partial('sidebar', 'partials/sidebar') 
     ->build('dashboard_view'); 
    //echo '<pre>'; 
    //var_dump($this->template); 
    //echo '</pre>'; 
    //die(); 
} 
} 

這是相同的佈局減去用於我的登錄視圖的邊欄。它加載得很好。

<!DOCTYPE HTML> 
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]> <html class="lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]> <html class="lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html> <!--<![endif]--> 

<head> 
<title><?php echo $template['title']; ?></title> 

<?php echo $template['partials']['header']; ?> 

</head> 

<body> 

<!-- Start Content --> 
<div class="container-fluid login"> 

    <div id="wrapper"> 

     <?php echo $template['partials']['sidebar']; ?> 

     <?php echo $template['body']; ?> 

    </div> 

</div> 

<?php echo $template['partials']['footer']; ?> 

</body> 

</html> 

編輯:

我仍然有這個問題,似乎無法修復此問題。有任何想法嗎。

回答

1

您收到的錯誤不是來自您發佈的任何代碼。但它應該有一個文件名和行號。

在某處尋找類似 $something['body']的東西。該數組索引沒有設置,但你試圖反正使用它。

您未設置$template['body']。在php中使用模板對象來做到這一點。做到這一點

$this->template 
    ->title('Control Panel') 
    ->set_layout('control_panel_view') 
    ->set_partial('sidebar', 'partials/sidebar') 
    ->set('body', 'body content!') 
    ->build('dashboard_view'); 

顯然你會想改變'身體內容'到你的內容最終會是什麼。

+0

我編輯了我的答案。 – castis

+0

我不明白,因爲身體應該是在這個庫中的構建方法中加載的內容。 – user2576961

+0

運行'die(var_dump($ template))'並查找你的內容。他的班級文件不存在:/ – castis