0
<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?还是有更好的方法来做到这一点?

4

1 回答 1

0

最简单的方法就是在 PHP 中编写一个函数,然后在 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变成一个对象,然后你可以在它上面调用函数,而不是必须使用全局函数,这可能会在未来产生更清晰的代码。

于 2013-03-05T06:47:41.867 回答