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

解決済
marumaru
遊覧客
21 3 5

お世話になります。

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

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

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

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

よろしくお願いします。

 

0 件の「いいね!」
junichiokamura
Community Manager
Community Manager
1011 234 383

成功

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

 

Technical Partner Manager, Japan
junichiokamura
Community Manager
Community Manager
1011 234 383

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

Technical Partner Manager, Japan
0 件の「いいね!」
marumaru
遊覧客
21 3 5

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

0 件の「いいね!」
marumaru
遊覧客
21 3 5

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

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

0 件の「いいね!」