2010-10-15 67 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