Liquid Snippets by ALSEL
🔍 コレクション/検索初級

コレクションページの商品ギャラリー

コレクション内の商品を3列のテーブルレイアウトで表示するテンプレート。各商品にサムネイル、タイトル、価格(セール時は定価を取消線)を表示し、ページネーションに対応する。

用途
コレクションページで商品一覧をギャラリー形式(グリッド)で表示するとき。商品数が多い場合はページネーションで12件ずつ分割表示する。
設置場所
templates/collection.liquid に貼り付ける。コレクションオブジェクト(collection.products、collection.title など)が自動で渡されるため、そのまま使用可能。
注意点
tablerow タグは3列固定のため、レスポンシブデザイン対応には CSS で列数を画面幅に応じて変更する必要がある。product.images.first が空の場合は画像が表示されないため、デフォルト画像を用意するか条件分岐で対応する。product_img_url フィルターの 'small' は theme 設定に依存するため、自店舗で定義されたサイズに変更する。商品が0件の場合のメッセージは日本語に書き換える。
タグ:collectionproductpaginationtablerowgallery

コード

20 行 / liquid
{% paginate collection.products by 12 %}{% if collection.products.size == 0 %}
  <strong>No products found in this collection.</strong>{% else %}
  <h1>{{ collection.title }}</h1>
  {{ collection.description }}
  <table id="gallery">
  {% tablerow product in collection.products cols: 3 %}
    <div class="gallery-image">
      <a href="{{ product.url | within: collection }}" title="{{ product.title | escape }} &mdash; {{ product.description | strip_html | truncate: 50 | escape }}"><img src="{{ product.images.first | product_img_url: 'small' }}" alt="{{ product.title | escape }}" /></a>
    </div>
    <div class="gallery-info">
      <a href="{{ product.url | within: collection }}">{{ product.title | truncate: 30 }}</a><br />
      <small>{{ product.price | money }}{% if product.compare_at_price_max > product.price %} <del>{{ product.compare_at_price_max | money }}</del>{% endif %}</small>
    </div>
  {% endtablerow %}
  </table>{% if paginate.pages > 1 %}
  <div id="paginate">
    {{ paginate | default_pagination }}
  </div>{% endif %}{% endif %}
{% endpaginate %}

出典・ライセンス

License:
MIT

このコードは Shopify 著作の MIT ライセンスソースです。 原本の著作権は Shopify が保有します。日本語訳は ALSEL によるものです。

関連項目

🔍 コレクション/検索初級

ページネーションの表示

ページネーションUI(前へ・次へ、ページ番号)を paginate オブジェクトから描画するスニペット。デフォルトのページネーション形式で複数ページに分割したコンテンツをナビゲートできる。

📁 shopify-code-snippets·MIT·6
🔍 コレクション/検索初級

ページネーションの現在位置表示

コレクションや検索結果の一覧ページで、現在のページ番号と全ページ数を表示する。Shopify の多言語対応翻訳キーを使用して、言語ごとに自動で表記を切り替える。

📁 shopify-code-snippets·MIT·6
🔍 コレクション/検索中級

検索結果のペジネーション比較

検索結果を paginate タグで複数パターン分割して表示するテンプレート。デフォルトペジネーションと window_size:1 オプション指定の両方の書き方を示しており、ページネーション動作の違いを検証するサンプルコード。

📁 theme-tools·MIT·12
🔍 コレクション/検索初級

検索結果のページネーション設定

検索結果を paginate タグでページ分割し、複数の window_size 設定を並べて出力する方法。28件単位のペーグネーションと、ウィンドウサイズを明示的に指定した設定の2パターンを示している。

📁 theme-tools·MIT·12
🔍 コレクション/検索初級

コレクションページの商品一覧

コレクション内の商品を一覧表示し、商品画像・タイトル・説明文・価格帯をカード状に並べる。ページネーション機能で20件ごとに分割表示する。

📁 liquid·MIT·23
🔍 コレクション/検索中級

paginate タグ(ページネーション)

コレクションをページサイズごとに分割し、複数ページで商品一覧を表示するための Liquid タグ。named attributes による window_size の指定にも対応している。

📁 theme-tools·MIT·23