0

这不是一个重复的问题,除了我的问题不同之外,我无法使用其他线程的答案来解决我的问题。

我正在尝试在 Smarty 插件函数中使用 PHP 打印带有附加参数的 URL。我使用的软件是WHMCS。

下面是我的函数的示例代码:

<?php 
/* 
 * Smarty plugin 
 * ------------------------------------------------------------- 
 * File:     function.aff.php 
 * Type:     function 
 * Name:     aff 
 * Purpose:  outputs a random magic answer 
 * ------------------------------------------------------------- 
 */ 
function smarty_function_aff($params, &$smarty) 
    { 
           $affiliateid = $params['affiliateid']; 
           $refflink = 'http://example.com/aff.php?aff=' . $affiliateid .''; 

           print $refflink; 
    } 
?>

在模板文件中,我使用{aff}它应该打印包括附加参数在内的整个 URL,但是它会像这样打印 URL:http://example.com/aff.php?aff=就好像$affiliateid变量不存在一样。

现在,如果我($affiliateid}直接在模板文件中使用以下内容,它将输出用户附属 ID。但是我需要在上面的PHP函数中使用它。直接用PHP编写它$affiliateid似乎不起作用。

我在这里缺少什么?请问有什么建议吗?谢谢你。

4

1 回答 1

1

您可以像这样使用您的功能:

{aff affiliateid=$affiliateid}

有关更多信息,请参阅此链接:http ://www.smarty.net/docsv2/en/plugins.functions.tpl

它指出:

从模板传递给模板函数的所有属性都包含在 $params 作为关联数组。

一个属性(http://www.smarty.net/docsv2/en/language.syntax.attributes.tpl)是affiliateid=$affiliateid我上面代码行中的一部分。

于 2015-12-06T16:57:18.877 回答