Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从smary html模板文件中传递php函数paramater中的值_Php_Smarty - Fatal编程技术网

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

如何从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

请帮助我如何将用户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 ($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");     
}