根据图像是否存在,在DPL文件中隐藏DIV?

时间:2013-03-05 04:52:07

标签: image html smarty exists

<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(如果它不存在)?或者有更好的方法吗?

1 个答案:

答案 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转换为对象,然后可以在其上调用函数,而不必使用可能在将来生成更清晰代码的全局函数。