商品ソートがトップページで機能しない

テーマをカスタマイズしてTOPページに全商品リストを表示させたのですが、テーマに実装されているソート機能がTOPページでは機能しません。

コレクションページでは問題なく動作しますので、下記のcollection-sorting.liquidをカスタマイズしないといけないと思われるのですが、

どこを編集すればいいか分かりません。

分かる方がいましたら、ご教示いただけますと幸いです。

{% assign sort_by = collection.sort_by | default: collection.default_sort_by %} {{ 'collections.sorting.title' | t }}

ソート機能の読み込み側のソースは以下のようになっており、TOPページ、collectionページともに違いはありません。

{% if collection.description != blank %}

{{ collection.title }}

{{ collection.description }}
{% include 'collection-sorting' %} {% include 'toggle-filters' %}
{% else %}

{{ collection.title }}

{% include 'collection-sorting' %} {% include 'toggle-filters' %}
{% endif %}

おそらくですが、最後のJQueryの関数に渡しているソートのキーがTOPだと渡せていないので、常にデフォルトのソート順になっているのではと思います。

JQueryの関数に、alert やconsole.logを入れて、関数呼び出しをでバックしてみてはどうでしょうか?

コメントいただきありがとうございます。
いろいろ試してみましたが、解決できませんでした。

「常にデフォルトのソート順になっているのではと思います。」

というより、トップだとプルダウンにリストが表示されないので、
そもそもデータを渡せていないようです。

コレクションページだと、今選んでいるコレクションが、 {{ collection }} オブジェクトに挿入されますが、TOPページだとそれがないので、データが空なのではと思います。

/collection/all のページのコードを参考にしてみてください。

TOPでコレクション未選択でコレクションの商品を表示するのは、 {{ collections[1].product }} のような感じで、まずどのコレクションを使うか指定する必要があると思います。

コレクション横断にする場合はこれをcollectionの数分回します。 ストアのコレクションの数は、shop.collections_count で取れると思います。

https://shopify.dev/docs/themes/liquid/reference/objects/shop#shop-collections_count