Craft CMS で2つの日時を比較し、N日以内のエントリーに NEW アイコンを付ける方法をご紹介します。
Craft CMS でエントリーの投稿日と今日の日付を比較し、N日以内なら NEW マークを付けるというのをやってみたいと思います。
なお、下記のお話は、 entry
という変数にエントリーの情報が入っているコンテキストでのお話になります。
エントリーの投稿日は {{ entry.postDate }}
で取得できます。
また、今日というか現在の日時は now
で取得できます。
そこで、この2つの日付の差分は下記のようにして取得できます。
{% set postDateDiff = entry.postDate.diff(now) %}
これで変数 postDateDiff
に2つの日時の差がセットされます。何年何ヶ月などの日時の差の詳細な情報は、それぞれ y, m, d, h, i, s
というキーで取得できます。
したがって、投稿日が今日から5日以内のエントリーに NEW マークを付ける場合は、下記のような条件分岐になります。
{% if postDateDiff.y == 0 and postDateDiff.m == 0 and postDateDiff.d <= 5 %}
NEW!
{% endif %}
簡単に実装できましたね!
以上です。