FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

Re: order.created_at の条件分岐

order.created_at の条件分岐

TSnk
訪問者
2 0 0

order.created_at(注文日時)に対して、特定の日付以降のif分岐の記述ですが、どのような書き方が適切でしょうか。

{%- if order.created_at | date: "%Y/%m/%d" > '2021-07-29 12:00:00' -%}

で記述をしましたが、うまく行かなかったため。

1件の返信1

Jizo_Inagaki
Shopify Partner
1133 414 723

記載されたコードは数値ではなく文字列なので左辺と右辺の比較ができず動きません。

興味がありましたので以下試作してみました。

{% assign Y = order.created_at | date: "%Y" | times:1  %}
{% assign M = order.created_at | date: "%-m" | times:1  %}
{% assign D = order.created_at | date: "%-d" | times:1 %}
{% if Y >= 2021 and M >= 8 and D > 8  %}
  <p>2021年8月8日より新しい</p>
{% else %}
  <p>2021年8月8日かそれより古い</p>
{% endif %}

 流れとしては以下のようになります。

  1. 年と月と日を個別に取得
  2. 1を掛けて文字列の数字を数値に変換して変数にいれる
  3. 年の数値が指定以上、かつ、月の数値が指定以上、かつ、日の数値が指定よりも多い、という条件で分岐を作成

試していませんが仮に時間まで判定する場合でも同様にしてできるかなと思います。

こういった場合は秒数に変換して比較するのが一般的なようにも思いますが、今回の用途であればこのような形でもよいかなと考えました。

 

以上ですが、動かなかったり問題があるコードでしたら申し訳ありません。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。