# コレクションページの商品表示数を変更したい

**URL:** <https://community.shopify.com/t/topic/115231>\
**Category:** 技術的なQ＆A\
**Created:** [April 20, 2022, 6:56am UTC](https://community.shopify.com/t/topic/115231 "2022-04-20T06:56:53Z")\
**Posts on this page:** 2\
**Page:** 1

## AI-generated summary

Shopifyのランキング用コレクションだけ商品表示数を上位20件に制限したいという要望。使用テーマはSymmetry（Online Store 2.0）で、paginateタグ（例: {% paginate collection.products by 9 %}）では1ページ当たりの件数制御に留まり、総表示数が20件を超えてしまう課題が指摘された。

提案された解決策は、collection.handleが“ranking”の場合に限り、forループでcollection.productsにlimit:20を適用して商品一覧を出力すること。他のコレクションは通常どおり全商品をループする。

ページネーションはランキングコレクションでは非表示（unless collection.handle == 'ranking'）にし、それ以外のコレクションでは従来のページネーションを維持する。これによりランキングページでは20件のみ表示され、他ページは通常のページ分割が機能する。

補足: collection.handleはコレクションの識別子（スラッグ）。ページネーションはページ分割機能。Online Store 2.0は新構造のテーマで旧来のコード例がそのまま適用できない場合がある。

現時点で具体的なコード例が提示され、実装方針は明確。採用・動作確認の報告は未記載だが、解決案は提示済み。

<div class="post-metadata">

**Author:** ![c-s](https://avatars.discourse-cdn.com/v4/letter/c/e9a140/32.png) [@c-s](https://community.shopify.com/u/c-s)\
**Post date:** [April 20, 2022, 6:56am UTC](https://community.shopify.com/t/topic/115231/1 "2022-04-20T06:56:53Z")

</div>

現在トップページにコレクションの自動ソート機能でランキングを作り、TOP4位まで表示させ

残りはall viewをクリックするとランキングページ（コレクションページ）に遷移し、ベストセラーの順番で商品が一覧表示されるようになっています。

しかし、ランキングページではすべての商品が表示されてしまうため、

ランキングのコレクションのみ上位20位までに制限したいです。

shopify公式にある以下のコードは試しましたが、Online Store 2.0のテーマには対応していないとのことだったので、theme2.0での方法が知れたと思います。

```auto
 {% paginate collection.products by 9 %}

```

現在使用しているテーマ：symmetry（theme 2.0）

ご教授いただけたら幸いです。

よろしくお願いいたします。

---

<div class="post-metadata">

**Author:** ![Anonymous\_44fbe07fc59d9ccaacd70575fd5a5155](https://yyz1.discourse-cdn.com/shopifyforum/user_avatar/community.shopify.com/anonymous_44fbe07fc59d9ccaacd70575fd5a5155/32/194200_2.png) [@Anonymous\_44fbe07fc59d9ccaacd70575fd5a5155](https://community.shopify.com/u/Anonymous_44fbe07fc59d9ccaacd70575fd5a5155)\
**Post date:** [April 25, 2022, 9:25am UTC](https://community.shopify.com/t/topic/115231/2 "2022-04-25T09:25:18Z")

</div>

質問でいただいておりました以下のような形ですと、「コレクション1ページあたりに9商品を表示する」ことになるため、2ページ目、3ページ目と遷移するにつれ20商品を超えてしまいます。

```markup
{% paginate collection.products by 9 %}

```

一例ですが、以下の形で実装されると良いかと思います。

```markup
{% if collection.handle == 'ranking' %} 
  {%- for product in collection.products limit:20 -%}　
　　 商品一覧表示のループ処理
  {%- endfor -%}
{% else %} 
  {%- for product in collection.products -%}　
　　 商品一覧表示のループ処理
  {%- endfor -%}
{% endif %}

~~~~~~~~~~~~省略~~~~~~~~~~~~~~

{% unless collection.handle == 'ranking' %} 
  ページネーション(ページの切り替え)のコード
{% endunless %}

```
