将几个变量从 Smarty 传递到 PHP 函数
Pass several variables from Smarty to PHP function
我们有一个与 Smarty 合作的商店系统。我需要将一些 Smarty 变量传递给 PHP 函数并获得 return。
到目前为止我所知道的和所做的如下:
{$order_id|@get_order_total}
因此,这会将 Smarty 变量“$order_id
”传递给包含函数 get_order_total($order_id)
的包含 PHP 文件,并向我显示此函数的 return。
现在我需要将 3 个变量传递给 PHP 函数。该函数例如如下所示:
handleDebit($order, $payCode, $insertId)
遗憾的是,到目前为止我还没有在 smarty 文档中找到正确的东西。有人做过吗?
如果您确实需要从 smarty 模板中调用函数,请将包装函数注册为 smarty-plugin:
<?php
$smarty->registerPlugin("function","handleDebit", "handleDebitSmarty");
function handleDebitSmarty($params, $smarty)
{
return handleDebit($params['order'], $params['payCode'], $params['insertId']);
}
现在您可以将它用作 smarty 标签:
{handleDebit order=$blah payCode=$blub insertId=$yeahh}
但是您应该考虑@JonSterling 的建议,并尝试找到一种方法,让控制器执行 handleDebit
-调用,而您只在模板中处理 results/display-stuff。
我们有一个与 Smarty 合作的商店系统。我需要将一些 Smarty 变量传递给 PHP 函数并获得 return。
到目前为止我所知道的和所做的如下:
{$order_id|@get_order_total}
因此,这会将 Smarty 变量“$order_id
”传递给包含函数 get_order_total($order_id)
的包含 PHP 文件,并向我显示此函数的 return。
现在我需要将 3 个变量传递给 PHP 函数。该函数例如如下所示:
handleDebit($order, $payCode, $insertId)
遗憾的是,到目前为止我还没有在 smarty 文档中找到正确的东西。有人做过吗?
如果您确实需要从 smarty 模板中调用函数,请将包装函数注册为 smarty-plugin:
<?php
$smarty->registerPlugin("function","handleDebit", "handleDebitSmarty");
function handleDebitSmarty($params, $smarty)
{
return handleDebit($params['order'], $params['payCode'], $params['insertId']);
}
现在您可以将它用作 smarty 标签:
{handleDebit order=$blah payCode=$blub insertId=$yeahh}
但是您应该考虑@JonSterling 的建议,并尝试找到一种方法,让控制器执行 handleDebit
-调用,而您只在模板中处理 results/display-stuff。