2014-06-16 35 views
1

有沒有一種方法來檢查文件是否存在於Twig中,以便在新創建的文章中上傳的圖像?Symfony2 - 檢查一個文件是否存在於Twig

我有我的後期設置的方式是,如果圖片沒有上傳,樹枝模板將顯示一個空框,圖像應該在哪裏的比例,但它是一個空白的框,看起來很尷尬。

問題是,如果有與if語句一起使用的特定命令來檢查文件是否存在,如果是,則顯示圖像代碼,如果不顯示圖像代碼。

圖片代碼:(這是我想隱藏,如果沒有圖像的存在是爲了擺脫空箱子的密碼)

<div class="entry-thumbnail"> 
    <img width="230" height="172" src="{{ asset(['images/', post.image]|join) }}" class="" alt=""/> 
</div> 

回答

1

你可以寫一個樹枝延伸,並使用一些像這樣的代碼:

use Symfony\Component\Filesystem\Filesystem; 
use Symfony\Component\Filesystem\Exception\IOException; 
use Symfony\Component\Finder\Finder; 


    $this->fs=new Filesystem(); 

    if (!$this->fs->exists($directory)) { 
     $this->logger->info("there is no ".$directory." ..."); 
    } else { 
     $this->logger->info("Directory ".$directory." already exists."); 
    } 

,但我寧願在你的img標籤使用javascripz像

<img ... onError="this.src='imagefound.gif';" /> 

更新:

圖像標籤有一個onError的處理程序時,沒有找到src屬性的圖像觸發。因此,而不是使用這個簡單的語法內嵌你可以做同樣的,如:

僞jQuery代碼:

$(document).on('error','img',function(){ 
    $(this).attr("src","../path/to/placeholerImage.png"); 
}); 
+0

你的意思是像我只是做? –

相關問題