我最近一直在尝试使用Smarty(第一次使用这种东西),我有一个快速的问题,我只是想不通。
我已经为 Smarty 创建了一个函数,称为 get_users(),所以它会在我的 .tpl 中 {get_users}
我想对这些"get_users"做一个,所以它看起来像这样
{foreach get_users as $user}
magic
{/foreach}
现在,我的问题是..由于这不起作用,我应该如何处理这个问题?
谢谢!
您可能应该在函数中使用 $smarty->assign(...) 在变量中返回结果,然后编写如下内容:
{get_users var=user_list}
{foreach $user_list as $user}
....
{/foreach}
阅读 http://www.smarty.net/docs/en/plugins.functions.tpl
首先,您的插件应该在迭代模板之前将 users 变量分配给模板。这可以像这样完成:
function smarty_function_get_users($params, $smarty)
{
..... // your stuff goes here
$users = array(); // get your users data here
$smarty->assign($params['users'], $users);
}
然后你可以像这样迭代它:
{get_users users=users}
{foreach from=$users item=user}
{$user}
{/foreach}