当我尝试在 EC-CUBE4 中注册 WebP 产品图像时,出现错误"无效文件:支持的文件类型为 image/gif、image/png 或 image/jpeg"。
我将向你展示如何避免错误并注册 WebP 图像作为产品图像。
如何在 EC-CUBE 4 中为产品图像启用 WebP 格式图像
*本次测试环境为 EC-CUBE 4.3.1。同样的方法也适用于 EC-CUBE 4。
步骤 1. 修改 ProductController.php
首先,编辑"/src/Eccube/Controller/Admin/Product/ProductController.php"。
在第 327 行附近,你会发现以下内容:
$allowExtensions = ['gif', 'jpg', 'jpeg', 'png'];
在此处添加"webp"。
$allowExtensions = ['gif', 'jpg', 'jpeg', 'png', 'webp'];
步骤 2. 修改 product.twig
接下来,下载并编辑"/src/Eccube/Resource/template/admin/Product/product.twig"。
将其上传至"/app/template/admin/Product/product.twig"。如果 Product 文件夹不存在,请创建它。
也可以将其上传到"/src/Eccube/Resource/template/admin/Product/product.twig"并覆盖它,
但如果你将其上传到"/app/template/admin/Product/product.twig",则此文件将优先。
product.twig 文件第 74 行附近有一段类似这样的代码:
acceptedFileTypes: [
'image/gif',
'image/png',
'image/jpeg'
],
在此处添加"image/webp"。
acceptedFileTypes: [
'image/gif',
'image/png',
'image/jpeg',
'image/webp'
],
现在可以将 WebP 格式的图像注册为产品图像了。