2010-08-26 88 views
2

我很新手到php和codeigniter(和聰明太)。傳遞smarty變量包括(與Codeigniter)

我遵循了很多教程,現在我對自己的smarty + CodeIgniter配置充滿信心,但現在我有了這個方案。我想將幾個變量傳遞給smarty包含以便在include中顯示兩個字符串(標題,字符串是標題的一部分)

這是include(header.tpl):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>{$Titulo} - {$NombreModulo} - Some Static text.com</title> 
<link rel="stylesheet" type="text/css" media="screen" href="/sitio/contenido/css/Style.css" /> 
{literal} 
<script type="text/javascript" src="/sitio/contenido/js/jquery-1.4.2.min.js" ></script> 
<script type="text/javascript" charset="utf-8"> 
{/literal} 
(some code omitted) 

和我的控制器:

function index() 
{ 
    //$this->load->view('welcome_message'); 
    $this->load->library('smarty_parser'); 
    $datos = array (
    'texto' => 'String de prueba', 
    'elapsed_time',1500, 
    'TituloPagina','Inicio', 
    'Modulo','Dashboard' 
    ); 
    $this->smarty_parser->parse('plantilla.tpl', $datos); 
} 

和文件Plantilla.tpl(模板)

{include file="head.tpl" Titulo=$TituloPagina NombreModulo=$Modulo } 
<div id="cuerpo"> 
{include file="sidebars/dashboard.tpl"} 
</div> 
<div id="contenido"> {$texto} </div> 
<!-- fin del contenido --> 

</div> 
<div id="footer"> </div> 
</body></html> 

這裏的問題是最後一個文件的第一行(或者至少我認爲是這樣)。我可以在這裏輸入一個靜態字符串({include file="head.tpl" Titulo="Static Title" NombreModulo="Another one"}),它可以工作,但不適用於文檔說的方式。

澄清,我想要完成的是發送一些字符串變量到smarty包括從控制器打印在tittle標籤上。

UPDATE的代碼,當設置這樣的,只是顯示 - - 一些靜態text.com

+0

那麼當你有這樣的代碼設置時它會顯示什麼?它是否將標題和模塊留空,如「 - - 一些靜態text.com」?或者是否將字面變量名稱放在那裏,如「$ TituloPagina - $ Modulo - 一些靜態text.com」 – SenorPuerco 2010-08-26 15:34:17

+0

剛剛編輯了問題。代碼顯示「 - - 一些靜態text.com」只有 – josecortesp 2010-08-26 15:40:25

回答

3

那麼,這部分是不正確的:

$datos = array (
'texto' => 'String de prueba', 
'elapsed_time',1500, 
'TituloPagina','Inicio', 
'Modulo','Dashboard' 
); 

應該是:

$datos = array (
'texto' => 'String de prueba', 
'elapsed_time' => 1500, 
'TituloPagina' => 'Inicio', 
'Modulo' => 'Dashboard' 
); 
+0

謝謝。這很難承認,但這是一個非常新的錯誤。我的眼睛高於smarty代碼,我從來不認爲這個錯誤出現在php代碼中。謝謝,它現在正在工作 – josecortesp 2010-08-26 15:43:52

+0

不客氣......這些東西很容易被忽視。 – Mischa 2010-08-26 15:52:28