これは Craft CMS Advent Calendar 2020 5日目の記事です。
Craft CMS の アセット
エレメントには、ファイルの種別を表す kind
プロパティが存在します。
この分類は公式ドキュメントに記載されている通りで、実際のファイル拡張子とは異なります。
そこで、Twig フィルタを利用して簡単にファイル拡張子を取得する方法をご紹介します。
やってみる
変数 asset
に単一のアセットがセットされている状態だとして、次のコードを記述します。
{{ asset.url | split('.') | last }}
asset.url | split('.')
でアセットの URL を .
で配列に分割し last
フィルタで最後の要素を取得することで、結果的にファイル拡張子だけを抜き出すことができます。
first
フィルタで配列の最初の要素も取得できますので、用途に応じて使い分けてみてください。
参考:配列のN番目の要素を取得するには
split
フィルタで分割した配列を slice
フィルタで範囲指定します。
{% set pathArray = craft.app.request.fullPath | split('/') %}
{% for value in pathArray | slice(2, 1) %}
{% set targetSegment = value %}
{% endfor %}
このとき、for
タグでループさせないとエラーになる点だけ注意が必要です。