SITECORE MANIA 開発者向け技術ブログ

カスタムパイプライン

寺島

寺島

Sitecoreに.webpを画像と認識させる

Sitecoreはデフォルトでは.webpを画像と認識してくれません。
この記事ではSitecoreに.webpを画像として認識させる方法とそのメリットについて記載します。

.webpを画像と認識させる方法

設定ファイルを新規作成し、App_Config配下に追加するだけです。
例: WebpMedia.config

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <mediaLibrary>
      <mediaTypes>
        <mediaType name="WebP image" extensions="webp">
          <!-- 正しい MIME タイプで配信される -->
          <mimeType>image/webp</mimeType>

          <!-- ブラウザでインライン表示される -->
          <forceDownload>false</forceDownload>

          <!-- Alt テキスト等の画像フィールドが使える -->
          <sharedTemplate>system/media/unversioned/image</sharedTemplate>
          <versionedTemplate>system/media/versioned/image</versionedTemplate>

          <!-- アップロード時に画像として検証される -->
          <mediaValidator type="Sitecore.Resources.Media.ImageValidator"/>

          <!-- 管理画面のサムネサイズ -->
          <thumbnails>
            <width>150</width>
            <height>150</height>
          </thumbnails>
        </mediaType>
      </mediaTypes>
    </mediaLibrary>
  </sitecore>
</configuration>

さらに処理を組み込む

先ほどの設定内にこのような記述を追加すると、webp画像が読み込まれる際に指定したプログラムの処理が行われ、リサイズやフォーマットの変換が可能になります。

<prototypes>
  <media type="[名前空間].[クラス名], [アセンブリ名]"/>
</prototypes>

そもそもなんで.webpが画像と認識されないのか

App_Config\Sitecore.config
ここの <mediaTypes> でメディア系を定義しています。

Sitecore.configのmediaTypesの設定箇所

この中にpngやjpgは含まれていますが、webpが含まれていません。
そのためSitecoreではデフォルトではwebpを画像と認識することができないのです。

※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス