0

私は smarty の初心者で、何かをしようとしています。

今、login.tpl (スマート テンプレート) ファイルに次のコードがあります。

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

URLからのGETデータが非表示フィールドの値に入れられていることを少し理解しています。

ここで、base64_encode 関数を使用してこの URL データをエンコードします。しかし、phpコードではないため、base64_encodeを使用してエンコードするにはどうすればよいですか。私もこのように試しました:

{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 に答える