2010-10-15 71 views
4

如果使用{debug}查看我可以在頁面中訪問哪些數據。 現在的東西,我需要坐的{$ GLOBALS}像

current_user => Array (17) 
     id => 3759 
     user_name => bla 
     email => [email protected] 
     group => Array (2) 
     id => users 
     caption => Users 

但如何我得到我需要證明我的頁面上的數據?像電子郵件地址一樣?

回答

2

如果您只是到模板文件的訪問,你可以分配$GLOBALS到智者VAR $globals這樣的:

{php}$this->assign('globals', $GLOBALS);{/php} 
{$globals.somevar} 

$this指活躍的SmartyØ bject。

實現這個更好的方式,其訪問PHP腳本時,會是:

<?php 
$somevar = 'this is a test'; 
$tpl = new Smarty; 
$tpl->assign('globals', $GLOBALS); 
$tpl->display('example.tpl'); 
?> 

模板文件:

{$globals.somevar} 

可選擇使用過濾器,如:

{$globals.somevar|escape:html} 
0

我想這可能工作:

{} PHP

回聲$ GLOBALS [ 'CURRENT_USER'] [ '電子郵件'];

{/ PHP}

(這是不是最好的方法。你需要確保數據輸出之前逃脫,所以你可以使用ヶ輛()或更好地分配在你的代碼中的數據見:http://www.smarty.net/manual/en/api.assign.php