如何从smarty html模板文件传递php函数参数中的值

时间:2014-05-19 20:02:16

标签: php smarty

请帮助我如何将用户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}

1 个答案:

答案 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");     
}