Liquid Snippets by ALSEL
🛍️ 商品表示中級

商品画像をプリロード表示

商品ループ内で featured_image を image_tag と image_url フィルタで段階的に出力するスニペット。preload オプションで画像の読み込み優先度を上げ、Liquid フォーマッタの正しいインデント処理を示す。

用途
商品一覧ページやコレクションページで、複数商品の画像を効率的にプリロードして LCP(Largest Contentful Paint)を改善したいとき。
設置場所
snippets フォルダに配置し、templates/collection.liquid または sections/main-collection.liquid 内で `{% render 'fixed', products: collection.products %}` で呼び出す。products 変数をループ対象として渡す。
注意点
preload: true は HTTP Link ヘッダで画像をプリロード指示するため、上位3〜5商品分に限定しないと帯域を圧迫する。featured_image が null の商品が混在するときは `{% if product.featured_image %}` で存在判定を追加する。img.width・img.height は Shopify にアップロードされた画像メタデータから自動取得されるが、CDN リサイズ後の寸法を反映させるには image_url フィルタで width パラメータを指定する。
タグ:productimagepreloadloopfeatured-image

コード

26 行 / liquid
{%- comment %}
  Hey buddy, how are you doing today?
  Excited about Liquid?
{%- endcomment %}
{{ product | image_tag: preload: true }}
{% assign x = 1 %}

{% for product in products %}
  <div
    id="hero"
    class="container"
    style="width: 100%; padding-top: 100%"
  >
    {{ product | image_tag: preload: true }}

    {% assign img = product.featured_image %}
    <div>Look! Void elements don't screw up your indentation!</div>
    <img
      src="{{ img | image_url }}"
      width="{{ img.width }}"
      height="{{ img.height }}"
    >
    <a>Click me!</a>
  </div>
{% endfor %}

出典・ライセンス

License:
MIT

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

関連項目

🛍️ 商品表示上級

商品ブロック内のLiquid実行

セクションブロック内で管理画面から入力した Liquid コードを直接実行し、パディング設定で上下の余白を制御するスニペット。テーマカスタマイザーでコード記述が可能。

📁 ks-bootshop·MIT·8
🛍️ 商品表示初級

商品ページの見出し

商品詳細ページの商品名を h1 見出しで表示するブロック。テーマカスタマイザーから見出しサイズと上下の余白(padding)を調整できる。

📁 ks-bootshop·MIT·8
🛍️ 商品表示中級

商品レビューバッジの表示

Loox と JudgeMe 両方のレビュー集約アプリに対応したレーティングバッジを商品ページに埋め込む。メタフィールドから平均評価とレビュー数を取得し、各アプリの UI コンポーネントを描画する。

📁 ks-bootshop·MIT·9
🛍️ 商品表示中級

定期販売プランのデータ属性を動的に生成

商品の定期販売プラン(Selling Plans)をループで取得し、data 属性として HTML に埋め込むスニペット。JavaScript で定期販売オプションを制御するためのデータ基盤として機能する。

📁 theme-tools·MIT·10
🛍️ 商品表示初級

商品ページの区切り線

商品詳細ページで、セクション間に区切り線を挿入するブロック。パディング、高さ、背景色、透明度をカスタマイズできる。

📁 ks-bootshop·MIT·15
🛍️ 商品表示初級

商品画像のプリロード出力

商品オブジェクトから image_tag フィルターを使い、preload 属性付きで画像を出力するスニペット。複数商品のループ内でも使える基本的なパターン。

📁 theme-tools·MIT·16