如何在smarty中分配字符串PHP变量(函数)?

时间:2013-09-13 19:13:42

标签: smarty assign

我需要通过 $ type 更改 部分。在from部分中,我们有一个PHP静态函数:

{foreach from=dbPay::getAll(null) item=dbPay}
{foreach from=dbPay::getSomething(null) item=dbPay}
etc.

让我们看看,我们为此做了一个变量:

{foreach from={$static_php_function} item=dbPay}

用法:

{if ($type == 1)}
  // need to assign: dbPay::getAll(null)
  // ?? {assign var="static_php_function" value="dbPay::getAll(null)"}
{elseif ($type == 2)}
  // need to assign: dbPay::getSomething(null)
  // ?? {assign var="static_php_function" value="dbPay::getSomething(null)"}
{/if}


{foreach from={$static_php_function} item=dbPay}
...
{/foreach}

2 个答案:

答案 0 :(得分:3)

只需在函数调用周围删除双引号,并在foreach循环中使用变量名称左右括号:

{if ($type == 1)}
    {assign var="static_php_function_result" value=dbPay::getAll(null)}
{elseif ($type == 2)}
    {assign var="static_php_function_result" value=dbPay::getSomething(null)}
{/if}


{foreach from=$static_php_function_result item=dbPay}
...
{/foreach}

请记住,它不会为以后的呼叫分配功能,但会对其进行操作。

答案 1 :(得分:-2)

简单 根据var在处理程序中的类型,添加函数的输出。 将该var添加到您的模板中。 并修复。

相关问题