ホグワーツレガシーで15時間プレイしてやっと箒に乗るところまで来ました
無能な働き者ルシウス・マルフォイです。
ハードモードが思った以上にハードで禁じられた森のクモやカエルに一生ボコられていました(笑)
今回は自動で新規登録した商品や、期間限定の商品に対して”新着”や”SALE”などのラベルを付けたり外したりしてくれるコードを紹介します。
前回のおさらい
設定からカスタムデータでメタフィールドを作成するということをご紹介しました。
そして、card-product.liquidの<div class="card__badge {{ settings.badge_position }}">のdiv内に以下のコードをコピペしたら商品情報で設定したラベルが表示されるというものでしたね。
{%- if card_product.metafields.newarrival_product.tag != blank -%}
<span class="badge badge--bottom-left color-{{ settings.sale_badge_color_scheme }}">
{{card_product.metafields.newarrival_product.tag }}
</span>
{%- endif -%}
自動でラベルを貼るコードをコピペる
このコードに少し手を加えるだけで期間を定めたラベルを付与することができます。
{%- assign published_date = card_product.published_at | date: '%s' -%}
{%- assign current_date = 'now' | date: '%s' -%}
{%- assign passed_days_from_publish = current_date | minus: published_date | divided_by: 86400 -%}
{%- if passed_days_from_publish <= 7 -%}
{%- if card_product.metafields.newarrival_product.tag != blank -%}
<span class="badge badge--bottom-left color-{{ settings.sale_badge_color_scheme }}">
{{card_product.metafields.newarrival_product.tag }}
</span>
{%- endif -%}
{%- endif -%}
assignのところが一体何なのか…
published_dateにはcard_productで公開された日を代入して~
的なことだと思います(笑)
どっかの外国のブログからネタを仕入れたんで正直全然理解できてないんですよね(笑)
{%- if passed_days_from_publish <= 7 -%}
の部分は7日間ラベルを表示させるというコードです。
この7のところを好きな数字に変更すれば商品公開日から計算して表示、非表示を切り替えてくれます。
これで期間を設けたラベルの完成です!
お疲れさまでした!
弊社では特に問題なく動作していますので安心(?)してもらえたらと思います(笑)
どうしても心配!という人は有料アプリをダウンロードすることをお勧めします(笑)