有没有办法检查文件是否存在于Twig中,以便在新创建的帖子中上传图像?
我的帖子设置方式是,如果没有上传图片,Twig模板会显示一个空框,其中包含图像所在位置的比例,但它是一个空白的框,这是一个尴尬的空白框看看。
问题是,如果有一个特定的命令与if语句一起使用来检查文件是否存在,如果不存在,则显示图像代码,如果不显示图像代码。
图片代码:(这是我想隐藏的代码,如果没有图片来摆脱空盒子)
<div class="entry-thumbnail">
<img width="230" height="172" src="{{ asset(['images/', post.image]|join) }}" class="" alt=""/>
</div>
答案 0 :(得分: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.");
}
但我宁愿使用像
这样的javascripz 你的img标签中的:
<img ... onError="this.src='imagefound.gif';" />
更新:
图像标签有一个onError-Handler,在找不到src属性中的图像时触发。所以,不要使用这种简单的内联语法,你可以这样做:
伪jquery代码:
$(document).on('error','img',function(){
$(this).attr("src","../path/to/placeholerImage.png");
});