新規商品に自動で新着タグを表示したいというご要望を良くお聞きします。
管理画面のタグ機能を利用する方法もありますが、やはり自動で表示される方が便利ですよね。
この機能はdate関数によってTwigテンプレートを少し修正するだけで実現することができます。
登録から3日以内の商品に「新着」タグを表示するコードをご紹介します。
商品一覧ページ(Product/list.twig)で記述してください。商品詳細ページ(Product/detail.twig)でも利用可能です。
{% if date('-3days') < Product.create_date %} <span class="tag">新着商品</span> {% endif %}
CSSはスタイルシートなどにお好みで書いてやってください。
Twigのdate関数の使い方は公式サイトが大変参考になります。
https://twig.symfony.com/doc/1.x/functions/date.html
3日以内という日数を設定で変えたい場合は、app/eccube/config.ymlファイルに
new_product_tag_days: 3というように記述しておきapp.config.new_product_tag_daysをtwig内で利用すると便利です。
{% if date('-'~app.config.new_product_tag_days~'days') < Product.create_date %} <span class="tag">新着商品</span> {% endif %}
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。