2013-03-05 74 views
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?還是有更好的方法來做到這一點?基於圖像是否存在,在TPL文件中隱藏DIV?

回答

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成一個對象,然後你可以調用函數就可以了,而不必使用全局可能會在未來制定更清潔的代碼。