Как передать переменную Smarty в функцию PHP?

Это не повторяющийся вопрос, я не мог решить свою проблему, используя ответы из других тем, кроме того, у меня другая проблема.

Я пытаюсь напечатать 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 не похоже на работу.

Что мне здесь не хватает? Любые предложения, пожалуйста? Спасибо.

0

Решение

Вы можете использовать свою функцию следующим образом:

{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 часть в моей строке кода выше.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]