如何从smary html模板文件中传递php函数paramater中的值
请帮助我如何将用户id从smarty文件传递到php函数参数 PHP代码清单.PHP如何从smary html模板文件中传递php函数paramater中的值,php,smarty,Php,Smarty,请帮助我如何将用户id从smarty文件传递到php函数参数 PHP代码清单.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
<?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();
?>
输出我想显示用户在线/离线
{if $user_is_online}
User Online {else} User Offline {/if}
首先,必须将$USERS分配给smarty变量
$smarty->assign('ousers', $ousers);
之后,在你的smarty范围内,你可以跑步
{$ousers->isUserOnline($v.user_id)}
因此,您的最终smarty代码如下所示:
{$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");
}
有没有办法将信息发送回php函数…?哇!那代码很难看。你应该更好地解释你想要实现什么。对我来说还不清楚。然后你可以简单地调用你需要从smarty调用的函数。Smarty可以执行任何PHP函数。我现在要编辑我的答案。它只是显示用户的id。你确定要粘贴$smarty->assign('ousers',$ousers);在创建$ousers对象之后?该错误表明您分配变量时该变量不是对象。您需要在smarty中保存该函数对变量的响应。我已经更新了我的答案,为您提供了一个完整的解决方案,您可以剪切和粘贴。如果您需要其他帮助,请发布您收到的错误消息。这段代码应该可以运行,但我看不到您试图运行的版本,因为自从这个问题开始以来,它发生了实质性的变化。
if ($ousers->isUserOnline($user_id)) {
$smarty->assign("user_is_online","online");
}