du7979 2013-08-13 13:14
浏览 66
已采纳

Smarty使用smarty变量运行php函数

Ok i have finally worked out the issue about running php functions in smarty. But now how can i call that function with a smarty variable as a parameter? Here's the code.

This is in the plugins folder.

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

?>

And the php is the following one

<?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'];
 } 
}
 ?> 

I call the function using {getcommission}. However when i try to add the {$affiliate.id} as a parameter for the function i get an error. Any ideas what im doing wrong?

Need to call it in here

value="{    }" 

Tried {getcommission({$affiliate.id})} but nothing

  • 写回答

1条回答 默认 最新

  • douxunchen3498 2013-08-14 08:04
    关注

    Figured it out eventually. Had to use

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

    Like periklis suggested but somehow the $affiliate.id in the php function side was conflicting.

    Changed it to $idinput and worked fine.

    ALSO had to change the function to this

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

    Thanks for your help everyone

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?