在我的Typo3扩展程序中,我展示了大量带有流体的图像,以及产品的列表视图。只有在某些原因我的服务器上缺少一个图像时,Typo3才会生成全屏错误,因此完整的网站无法正常工作。
我认为有三种方法可以阻止它:
1)配置Typo3,使其忽略损坏的图像网址。有谁知道这是否可行?
2)让Fluid在图像生成之前检查图像是否存在。不知道这是否可能?
3)使用控制器检查图像是否存在,然后再发送到前端。只是由于manny图像它使用了大量的处理。
答案 0 :(得分:3)
我更喜欢使用来自VHS Viewhelper包的媒体存在的viewhelper。安装并激活扩展程序后,它应该在您的TYPO3扩展管理器中看起来像这个屏幕截图。
此示例遍历一系列产品,这些产品具有包含其图片文件名的公共图片属性。
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:for each="{products}" as="product">
<v:media.exists file="fileadmin/products/{product.picture}">
<f:then>
<f:image src="fileadmin/products/{product.picture}" />
</f:then>
<f:else>
<f:image src="fileadmin/noImageFound.jpg" />
</f:else>
</v:media.exists>
</f:for>