<div><div style="margin-left:67px"><table style="border:1px #80A0BB solid;" padding="5px"><tr><td><a href="{$link.URL|trim}" target="_blank"><img src="{$smarty.const.DOC_ROOT}/images/thumbs/{$link.ID}-300x225.png" alt="" /></a></td></tr></table></div></div>
我正在尝试根据我的服务器上是否存在图像来隐藏div。我如何检查图像是否存在并隐藏div(如果它不存在)?或者有更好的方法吗?
答案 0 :(得分:0)
最简单的方法就是在PHP中使用write函数,然后在Smarty中使用它。
在PHP中:
function linkImageExists($link){
//Check to see if image for link exists and return true if it does.
// otherwise:
return false;
}
在Smarty模板中:
{if linkImageExists($link)}
<div>
<div style="margin-left:67px">
<table style="border:1px #80A0BB solid;" padding="5px">
<tr>
<td>
<a href="{$link.URL|trim}" target="_blank">
<img src="{$smarty.const.DOC_ROOT}/images/thumbs/{$link.ID}-300x225.png" alt="" />
</a>
</td>
</tr>
</table>
</div>
</div>
{else}
{* image doesn't exist *}
{/if}
您可能需要考虑将$link
转换为对象,然后可以在其上调用函数,而不必使用可能在将来生成更清晰代码的全局函数。