Это не повторяющийся вопрос, я не мог решить свою проблему, используя ответы из других тем, кроме того, у меня другая проблема.
Я пытаюсь напечатать URL с добавленным параметром, используя PHP в функции плагина Smarty. Я использую ПО 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
не похоже на работу.
Что мне здесь не хватает? Любые предложения, пожалуйста? Спасибо.
Вы можете использовать свою функцию следующим образом:
{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
часть в моей строке кода выше.
Других решений пока нет …