FROM CACHE - jp_header
解決済

コレクション在庫ありを前在庫なしを後ろに出したい。

marumaru
Shopify Partner
29 3 5

お世話になります。

コレクションで在庫ありを前、在庫なしを後ろで表示したいと考えています。

商品をループで表示する際、
available true
available false
で抽出すればできるのですが、そもそもcollection.productsの中身がavailableでソートされているわけではないので、2ページ目以降でも在庫あり・なしが混在する形となってしまします。

理想的にはcollection.products自体がavailableでソートされている形で取り出したいのですが、可能なのでしょうか。

{% paginate collections.all.products by 1000 %}
のようにpaginateの値を大きくして該当コレクションの全商品を取得するようにすれば処理できるのですが、きれいな形ではないと考えています。

よろしくお願いします。

 

1 件の受理された解決策

junichiokamura
Community Manager
1200 280 506

成功

フィルターで効率よくかけるかもしれませんが、基本は全件操作になると思います。
https://shopify.dev/docs/themes/liquid/reference/filters/array-filters

 

Senior Partner Solutions Engineer

元の投稿で解決策を見る

4件の返信4

junichiokamura
Community Manager
1200 280 506

成功

フィルターで効率よくかけるかもしれませんが、基本は全件操作になると思います。
https://shopify.dev/docs/themes/liquid/reference/filters/array-filters

 

Senior Partner Solutions Engineer
junichiokamura
Community Manager
1200 280 506

あとは、そもそも自動コレクションの条件に在庫数があるので、在庫がゼロより大きいものと、そうでないものを作って、命名規則で並べる方法もありますが、それとは別の条件でコレクションが存在するという意味でしょうか?

Senior Partner Solutions Engineer
marumaru
Shopify Partner
29 3 5

ありがとうございます。
現状は在庫あり・なしのコレクションを作成して対応してます。

ただ、これだと運用性が悪いのと在庫ありなしのページネーション2ページ以降にも在庫ありなしが混在するのでユーザーに対して不便だなと思ってます。

marumaru
Shopify Partner
29 3 5

ありがとうございます。
やっぱり全件表示ですね。