2010-10-21 3 views
0

Я использую Smarty_parser.php, и он хорошо работает, когда я использую синтаксический анализатор сам по себе или если я запускаю парсер, а затем вызов вида. Например:Codeigniter с Smarty, вызывающим ошибку

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-> ('smarty_parser');' она бросает ошибку? – tplaner

+0

Да, я использую 5.3, и я получаю предупреждение о недопустимом вызове. Что-то об использовании ref в вызове функции ie: foo (& $ data) – Clutch

+0

Я сузил проблему до строки Smarty_parser.php: 87 $ CI-> output-> final_output = $ template; Я думаю, что это переписывание или нет, включая вывод заголовка. – Clutch

ответ

0

Я не уверен, что это кошерный, но вот ответ. мне нужно, чтобы перейти из куска кода: От

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

Для этого

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

Кажется, что работает отлично. Теперь мне просто нужно выяснить, поддерживает ли кто-нибудь этот код для добавления патча.

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