LefterisL
LefterisL

Reputation: 1143

Smarty run a php function with smarty variable

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

Upvotes: 0

Views: 2054

Answers (1)

LefterisL
LefterisL

Reputation: 1143

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

Upvotes: 1

Related Questions