Craft CMS のアセットフィールドで .ico の拡張子のファイルをアップロードできるようにする方法をご紹介します。
Craft CMS のアセットフィールドでは、デフォルトの状態では .ico
の拡張子のファイルはアップロードできません。
アップロードできるファイルの種類は general.php
の allowedFileExtensions
で定義できるのですが、この初期値が、
'7z, aiff, asf, avi, bmp, csv, doc, docx, fla, flv, gif, gz, gzip, htm, html, jp2, jpeg, jpg, jpx, js, mid, mov, mp3, mp4, m4a, m4v, mpc, mpeg, mpg, ods, odt, ogg, ogv, pdf, png, potx, pps, ppsm, ppsx, ppt, pptm, pptx, ppz, pxd, qt, ram, rar, rm, rmi, rmvb, rtf, sdc, sitd, svg, swf, sxc, sxw, tar, tgz, tif, tiff, txt, vob, vsd, wav, webm, wma, wmv, xls, xlsx, zip'
となっているために .ico
がアップロードできないのです。
したがって、 .ico
をアップロードできるようにするには、この初期値に ico
を追加して general.php
に定義してあげます。
なお、このように allowedFileExtensions
の初期値に拡張子を追加したいときは extraAllowedFileExtensions
に追加したい拡張子を配列でセットしてあげれば、 allowedFileExtensions
にマージされるようになっています。
'extraAllowedFileExtensions' => ['ico'],
もちろんこれを機会に、上記の値を必要なものだけに絞って設定してしまってもいいでしょう。
なお、ここで ico
を追加したとしても、フィールドの設定で、 Restrict allowed file types?
にしてあるとダメなので注意しましょう。