コレクション・検索結果での優先順位での並び替え

Topic summary

商品のカスタムフィールドに「優先順位」の数値を設定し、コレクションページと検索結果ページの両方で優先順位順に商品を表示したいという要望。ページネーションも維持したい。

検討している実現方法(優先順位順):

  1. アプリを使用
  2. APIを使わず、Liquidの記述のみでカスタムフィールドによるソート(検索結果ページを含む)
  3. APIを使用(具体的な方法について知見を求めている)
  4. APIで全商品を取得し、フロントエンド側のJavaScriptで条件に合う商品のみを抽出・表示
  5. 1回のSQLライクなクエリ実行で条件に合致し、優先順位順に並んだ商品リストを取得してフロントエンドで表示

懸念点:

  • 方法③や④ではページネーションが活用できるか不安
  • 厳密にはコレクションページや検索結果ページとは言えなくなるのではないかという疑問
Summarized with AI on November 16. AI used: claude-sonnet-4-5-20250929.

商品のカスタムフィールドで「優先順位」のような数値をもたせ、

・コレクションページ

・検索結果ページ

どちらもその一覧部分に、優先順位順に商品を表示をさせたいと思っております。

ページネーションも活かしたいと思っております。

以下の方法の若い番号順で実現ができれば良いと考えております。

①アプリで実現可能ならそれでOK

②APIを使わず、Liquidの記述だけでカスタムフィールドでSortしたい(検索結果ページ含め)

③APIで1回のSQL的なクエリ実行で、条件に合致し、かつ優先順に並んだ商品リストを取得し、フロントで表示させる

④APIで一旦全商品を取得し、フロント側JSで条件に合致する商品のみ抽出し、表示させる。

厳密には③や④はコレクションページや検索結果ページとはもはや言えなくなるかな?とも思います。

また③や④の場合はページネーションが活きるのかも不安な面があります。

もし一部であっても知見をお持ちの方が見えましたらご教示いただけますでしょうか。