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 に答える