Liquid、JavaScriptなどに関する質問
お世話になります。
早速ですが表題の件について、機能実装をしたく投稿させていただきます。
新着商品(直近でアクティブに変更された)が更新された場合に、
商品トップ画像の左上に『NEW』というラベルを表示させたいと思っています。
また在庫が "1" 以上の場合のみ表示し、品切れ状態(在庫 0)の場合は非表示が理想です。(現在の設定ですと品切れの状態だと、左上に『SOLDOUT』というラベルが表示され重複を防ぐ為)
その際に以前付いていた商品に関してはラベルが外れ、自動的に新着商品のみに付くという仕様にしたいです。
もしくは管理画面上で設定出来るように出来ればと思っています。
該当箇所は、トップページやコレクション内で、商品詳細ページでは非表示が理想です。
宜しくお願いします。
Shopify Plus等には入っておりません。
使用テーマは『Pristage』となります。
>在庫が "1" 以上の場合のみ表示し、品切れ状態(在庫 0)の場合は非表示
①collection.productsをfor文で回して、各productオブジェクトの"available"がTrueの場合は在庫ありと判断する。
>以前付いていた商品に関してはラベルが外れ、自動的に新着商品のみに付く
②各productオブジェクトの"published_at"プロパティ値が一番新しいものを新着商品と判断する。
①②をもとに、"published_at"が一番新しいかつ、"available"がTrueの場合にNewラベルを表示する。
その場合はsold_outラベル、on_saleラベル(割引ラベル)は非表示にする。
以上のやり方でいかがでしょうか。
なおラベルを自動付与ではなく管理画面で設定できるようにする場合は、新着と判断するための日付を管理画面側に変数で用意し、"published_at"プロパティ値がその変数より新しければ新着商品と扱う、のようにすれば実現可能かと思います。
※ラベル表示をしている個所はcard-product.liquidのようなLiquidファイル上で、sold_outなどと検索すれば見つかるはずです
オンラインストアを運営する中で、商品の返品や交換は重要なプロセスとなります。Shopify管理画面を通して簡単に返品や交換が行えることをご存知でしょうか?希望する場合は、お客...
By Mirai Sep 15, 2024Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024