EC-CUBE4系で商品画像にWebP形式の画像を登録できるようにする方法

EC-CUBE4系で商品画像にWebP形式の画像を登録できるようにする方法

EC-CUBE4系で商品画像にWebP形式の画像を登録できるようにする方法

EC-CUBE4で商品画像にWebPを登録しようとしても、「無効なファイルです: サポートしているファイルは image/gif, image/png 又は image/jpeg です」というエラーになってしまいます。

無効なファイルです: サポートしているファイルは image/gif, image/png 又は image/jpeg です

エラーを回避して商品画像にWebPも登録できるようにする方法をご紹介いたします。

EC-CUBE4系で商品画像にWebP形式の画像を登録できるようにする方法

※今回検証した環境はEC-CUBE4.3.1です。EC-CUBE4系でしたら同じ方法で対応できるはずです。

ステップ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形式の画像も商品画像として登録できるようになります。

あとがき

商品画像にWebPを使いたい時は、ぜひ参考にしていただければ幸いです。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です