0

我是聪明的新手,并试图在其中做点什么。

现在,我的 login.tpl(智能模板)文件中有以下代码

<input type="hidden" name="redirectTo" value="{$smarty.get.redirectTo}" />

根据我的一点理解,无论来自 url 的 GET 数据被放入隐藏字段的值中。

现在,我想使用 base64_encode 函数对这个 url 数据进行编码。但是我如何使用 base64_encode 对其进行编码,因为它不是 php 代码。我也试过这样:

{base64_encode($smarty.get.redirectTo)}

但这不起作用。

需要帮忙...

谢谢

4

2 回答 2

3

你也可以在 PHP 中创建 $smarty 类的地方创建一个修饰符:

$smarty->registerPlugin("modifier",'base64_encode', 'base64_encode');

然后在 TPL 中调用它:

{$string_to_encode|base64_encode}

于 2013-02-11T22:09:56.513 回答
1

您可以在之前将输出分配给 smarty 变量

$smarty->assign('yourVarforsmarty', base64_encode($yourVar));

而不是在 smarty 模板中简单地使用

{$yourVarforsmarty}

或者

像这样调用php函数

{php} 
  $temp = base64_encode($smarty.get.redirectTo); 
{/php}

<input type="hidden" name="redirectTo" value="{$temp}" />
于 2012-11-06T11:06:49.227 回答