2013-09-13 3 views
-1

Мне нужно изменить из раздела$ тип. В из раздела мы имеем PHP статические функции:Как назначить переменную (функцию) PHP PHP в smarty?

{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} 

ответ

3

Просто поместите в двойные кавычки вызова функции, и фигурные скобки вокруг имени переменной в цикле Еогеасп:

{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} 

Помните, что не назначить функцию для последующего вызова, но результат оперировать.

-2

простой добавить выход из вас функция зависит от того, какой тип он находится в обработчике var. добавьте шаблон var в шаблон. И исправлено.

+0

Трудно прочитать ваш ответ. Некоторый код также поможет. – Beryllium

Смежные вопросы