2010-10-21 93 views
0

我使用Smarty_parser.php,當我自己使用解析器或者如果我運行解析器然後視圖調用時,它工作得很好。例如:Smaign導致錯誤的Codeigniter

public function act() { 
    @$this->load->library('smarty_parser'); 
    $data = array('Someinfo'); 
    $this->smarty_parser->parse('contentTmpls/act.tpl', $data); 
    // Load Footer 
    $this->load->view('Templates/footer'); 
} 

但如果我這樣做:

public function act() { 
     @$this->load->library('smarty_parser'); 
     $this->load->view('Templates/header'); 
     $data = array('Someinfo'); 
     $this->smarty_parser->parse('contentTmpls/act.tpl', $data); 
     // Load Footer 
     $this->load->view('Templates/footer'); 
    } 

頭查看呼叫似乎消失了,不輸出任何東西。我想知道是否有人遇到這個問題或者看到了修復。

+0

你爲什麼要做'@ $ this-> load-> library('smarty_parser');'是否拋出錯誤? – tplaner 2010-10-21 15:18:30

+0

是的我正在使用5.3,我收到了一個關於不推薦使用的調用的警告。關於在函數調用中使用ref的一些問題,例如:foo(&$ data) – Clutch 2010-10-21 16:01:51

+0

我已經將問題縮小到Smarty_parser.php行:87 $ CI-> output-> final_output = $ template;我認爲它是覆蓋或不包括標題視圖輸出。 – Clutch 2010-10-21 16:02:58

回答

0

我不確定這是猶太潔食,但這裏有答案。 我需要轉出的一段代碼: 從

if ($return == FALSE) 
{ 
    $CI->output->final_output = $template; 
} 

對此

if ($return == FALSE) 
{ 
    $CI->output->append_output($template); 
} 

似乎是工作的罰款。現在我只需要看看是否有人維護這個代碼來添加補丁。