私はこのイメージがサーバー上に存在するかスマートではないかを確認する方法は?
{if image_exists}
<img src='{$path}{$imagename}'>
{else}
<img src='{$path}default.jpg'>
{/if}
どのように私はこの問題を解決しないような何かをしたいですか?
私はこのイメージがサーバー上に存在するかスマートではないかを確認する方法は?
{if image_exists}
<img src='{$path}{$imagename}'>
{else}
<img src='{$path}default.jpg'>
{/if}
どのように私はこの問題を解決しないような何かをしたいですか?
Smartyにロジックをさせるのではなく、代わりに実際のPHPを使用する方が良いと言えます。
if (file_exists($filename))
{
$path = $filename;
}
else
{
$path = 'default.jpg';
}
はその後、テンプレートには、任意の
if
文を必要としません。
PHPでは、あなたのような何かを行うことができます。通常通り、img
タグを使用してください。
<img src="{$path}" />
あなたは本当にただのSmartyのif
文で正常にPHPの関数を使用し、テンプレートファイルにチェックをしたい場合。
{if file_exists($path . $imagename)}
<img src='{$path}{$imagename}'>
{else}
<img src='{$path}default.jpg'>
{/if}
{if $(image variable whatever u used) ne ""}{$pathtoimagedirectory}/{$imagename}{else}{$path to default image}/{$defaultimagename}{/if}
Smartyのfile_exists機能だけ絶対パスを受け付けます。
ので、uは以下のように行うことができます。
{assign var="specialmsg" value="/var/www/html/public/uploads/{$logo}"}
{if file_exists({$specialmsg})}
\\SOME CODE HERE
{else}
\\ELSE CODE HERE
{/if}
が、私は、私はさてあなたは、単にPHPでループを持っていると、あまりにもチェックを行うことができます –
チェックするSmartyのを必要とする理由です、TPLファイルにすることができますsmartyloop使用していますあなたは?また、実際にテンプレートファイルのチェックをしたい場合は、同じことをすることができます。私は私の答えを更新しました。 –
{file_exists($ imagename)}が機能していない場合: –