Shopify 商品が全部表示されないとき
Shopifyでタグを全部出力したいとき、一度商品ループを回さないといけません。なんだか遠回りをしているように思えますが(たぶん)その方法しか出力方法がないので仕方ないのかな..と。
そして。
TOPページに商品タグ全部を出そうとしたとき、「なんだかタグの個数が少なくない!?」となりました。
原因がわからず色々調べてみたのですが、原因は商品ループに50個の制限がかかっていることでした。今回は、その解決方法を書き留めます。
Liquid 商品のループ
まず、普通に商品ループを行ってみます。
{% for product in collections.all.products %}
・・・
{% endfor %}
開発時には気が付きにくいのですが、これでは最大50商品しか取得できていないのです。
Shopifyはデフォルトで「layout内で取得するproductは1ページ50個まで」というルールがあるようで、それに引っかかってしまうことが原因です。
商品が51個以上ある場合には、取得されていない(ループできていない)商品があります。
解決方法
50商品になっている上限を書き換えます。
以下の例では1000商品に書き換えています。
{% paginate collections.all.products by 1000 %}
{% for product in collections.all.products %}
・・・
{% endfor %}
{% endpaginate %}
サイト開発時は商品が少ないから問題なかったけど、運用しているうちに商品数が増えてきて不具合発生!なんてことにならないよう、開発者は気を付けなければならないポイントですね..!!
この記事が気に入ったらサポートをしてみませんか?