请帮助我如何将用户ID从smarty文件传递到php函数参数
PHP Code listings.php
<?php
require_once "include/include.php";
require_once "classes/online_users.php";
global $config_abs_path;
global $db;
global $post_array;
// Check if user online
$ousers = new online_users();
if ($ousers->isUserOnline($user_id)) {
$smarty->assign("user_is_online","online");
}
$db->close();
if($db->error!='') { $db_error = $db->getError(); $smarty->assign('db_error',$db_error); }
$smarty->display('listings.html');
close();
?>
这是想要传递$ ousers的一个聪明的变量 - &gt; isUserOnline($ user_id) listings.html
{$v.user_id}
输出我想在线/离线显示用户
{if $user_is_online}
User Online {else} User Offline {/if}
答案 0 :(得分:1)
首先,你必须将$ ouses分配给一个聪明的变量。
$smarty->assign('ousers', $ousers);
在那之后,你可以运行
{$ousers->isUserOnline($v.user_id)}
所以,你最后的聪明代码看起来像这样:
{$user_is_online = $ousers->isUserOnline($v.user_id)}
{if $user_is_online}
User Online
{else}
User Offline
{/if}
此外,您可以完全删除以下代码,因为您不再需要它了。你现在完全从smarty中运行相当于这个:
if ($ousers->isUserOnline($user_id)) {
$smarty->assign("user_is_online","online");
}