0

好的,我终于解决了在 smarty 中运行 php 函数的问题。但是现在我怎样才能用 smarty 变量作为参数调用该函数呢?这是代码。

这是在插件文件夹中。

function smarty_function_getcommission( $params, &$smarty )
{
    include 'getcommission.php';
    getcommission({$affiliate.id});
}

?>

而php就是下面这个

<?php
function getCommission({$affiliate.id})
{
    $database="XXXXXXXXXXX";
    mysql_connect ("XXXXXXXXXXXXX");
    @mysql_select_db($database) or die( "Unable to select database");

 $data = mysql_query("SELECT * FROM hb_aff WHERE id = {$affiliate.id}") 
 or die(mysql_error()); 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print $info['total_commissions'];
 } 
}
 ?> 

我使用 {getcommission} 调用该函数。但是,当我尝试将 {$affiliate.id} 添加为函数的参数时,出现错误。任何想法我做错了什么?

需要在这里调用

value="{    }" 

试过 {getcommission({$affiliate.id})} 但没有

4

1 回答 1

1

最终想通了。不得不使用

value="{getcommission id=$affiliate.id}"

就像 periklis 建议的那样,但不知何故,php 函数端的 $affiliate.id 是冲突的。

将其更改为 $idinput 并且工作正常。

还必须将功能更改为此

function smarty_function_getcommission( $params, &$smarty )
{
    include 'getcommission.php';
    getcommission($params['id']);
}

谢谢大家的帮助

于 2013-08-14T08:04:06.437 回答