2012-01-19 4 views
2

Есть ли способ изменить ядро ​​smarty {if $foo} так, чтобы он использовал isset() и $foo|default:$foo2?

Причина, по которой я спрашиваю об этом, заключается в том, что я получаю предупреждающие сообщения от PHP.

Я понимаю, что могу сделать {if isset ($ foo)}, хотя это очень просто написать это без isset().

ответ

4

В выражении {if} выражение не должно выдавать никаких уведомлений. (по крайней мере, это было один раз)

Вы можете написать простой prefilter, который (с регулярными выражениями) ищет «{if $ foo}» и преобразует его в эквивалент {if !empty($foo)}.

Если вы чувствуете, что попали в ошибку/нуждаетесь в улучшении, поделитесь своими мыслями по bug tracker.