如果使用{debug}查看我可以在页面中访问哪些数据。 现在我需要的东西就像{$ GLOBALS}一样坐在
中 current_user => Array (17)
id => 3759
user_name => bla
email => bla@bla.com
group => Array (2)
id => users
caption => Users
但是如何获取我需要在我的页面上显示的数据?像电子邮件地址一样?
答案 0 :(得分:2)
如果您只访问模板文件,则可以将$GLOBALS
分配给smarty var $globals
,如下所示:
{php}$this->assign('globals', $GLOBALS);{/php}
{$globals.somevar}
$this
指的是活跃的Smarty对象。
当有权访问PHP脚本时,实现此目的的更好方法是:
<?php
$somevar = 'this is a test';
$tpl = new Smarty;
$tpl->assign('globals', $GLOBALS);
$tpl->display('example.tpl');
?>
模板文件:
{$globals.somevar}
可选择使用以下过滤器:
{$globals.somevar|escape:html}
答案 1 :(得分:0)
我想这可行:
{PHP}
echo $ GLOBALS ['current_user'] ['email'];
{/ PHP}
(这不是最好的方法。您需要确保在输出之前转义数据,因此您可以使用htmlentities()或更好的方式在代码中分配数据,请参阅:http://www.smarty.net/manual/en/api.assign.php)