в переменную сложить результат работы ф-ии

fender

Новичок
в переменную сложить результат работы ф-ии

может ли функция Smarty, зарегистрированная в качестве таковой в пользовательском скрипте, не только выводить текст,
но и возвращать значение?

Пример:
PHP:
function str_exists($params) {
        extract($params);
                                                                                                                             
        if (strpos($haystack, $needle)===false)
                return FALSE;
        else
                return TRUE;
}
$smarty->register_function("str_exists", "str_exists");
чтобы в шаблоне сделать примерно следущее:

{str_exists needle="Gecko" haystack=$smarty.request.HTTP_USER_AGENT}

но чтобы результат работы str_exists сложился в переменную {$non_IE}
 

alexhemp

Новичок
может, посмотри как сделаны в других ф-циях атрибут assign

нужно что-то вроде сделать
Код:
...
    static $assign = "";
    extract($params);

      $result = (strpos($haystack, $needle)===false)?FALSE:TRUE;

    if (!empty($assign))
        $smarty->assign($assign, $result);
    else
        echo $result;

Используется параметр assign через который передается имя переменной, в которую нужно записать результат.
 
Сверху