Вместо того, чтобы Smarty выполнял логику, я бы сказал, что вместо этого лучше использовать настоящий PHP.
В PHP вы можете сделать что-то вроде:
if (file_exists($filename))
{
$path = $filename;
}
else
{
$path = 'default.jpg';
}
Тогдав шаблоне вам не понадобится оператор if
.Просто используйте тег img
, как обычно.
<img src="{$path}" />
Если вы действительно хотите выполнить проверку в файле шаблона, просто используйте функцию PHP обычно с оператором Smarty if
.
{if file_exists($path . $imagename)}
<img src='{$path}{$imagename}'>
{else}
<img src='{$path}default.jpg'>
{/if}