Shopifyの日付メタフィールドの使い方
shopifyで用意されているメタフィールドの中に『日付』というものがあります。
この記事では日付メタフィールドの定義の仕方と出力の仕方を紹介していきます。
日付メタフィールドの概要
日付を選択できるフィールドを定義するコンテンツタイプで、カレンダーから選択した日付を保存し出力することができる
タイプ | 説明 | 値の例 | 値のタイプ | 翻訳可能 |
---|---|---|---|---|
date | 推定タイムゾーンのないISO8601形式の日付 | 2022-02-02 | string | no |
メタフィールドの使い方はshopify本家の方で細かく紹介されていますのでこちらもおさえておくといいです
日付メタフィールドの定義
コンテンツタイプで日付を選ぶと日付のメタフィールドを定義できる
一つの値と値のリストが選べる他、検証では最小と最大の日付を設定することができる
例では名前は日付、ネームスペースとキーはcostom.dateとしました
日付メタフィールドを入力
管理画面に表示された入力欄をクリックするだけでカレンダーから日付を選択できます
値のリストを使って複数の値を使う場合はアイテムの追加をクリックすることで選択する日付を増やすことができる
日付メタフィールドを出力
日付のメタフィールドは保存した日付をYYYY-MM-DD形式の文字列で取得できるので、今回の例で定義した日付のメタフィールドを出力するコードは以下になります
1 |
{{product.metafields.custom.date }} |
また、dateフィルターを使うとRubyのstrftimeメソッドと同じパラメーターで日付をフォーマットすることも可能になっています
1 |
{{ product.metafields.custom.date | date: '%Y年%m月%d日' }} |
値のリストを使って複数の値を出力する場合はforを使って処理することができますが、ネームスペースとキーの後に.valueをつけないと処理ができないようなので要注意
※値のリストのネームスペースとキーは『custom.date_list』に定義してあります
1 2 3 |
{% for date in product.metafields.custom.date_list.value %} {{ date | date: '%Y年%m月%d日' }} {% endfor %} |