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

商品ページの信頼アイコン

商品ページに信頼度を示すアイコン(配送無料、返品保証、セキュア決済など)を複数並べて表示するブロック。最大4個までのアイコンとテキストペアを管理画面から設定できる。

用途
商品詳細ページで購入を促進するため、配送・保証・支払い安全性などを視覚的にアピールしたいとき。ブートストラップのグリッドシステムで自動レイアウトする。
設置場所
snippets/product-block-trust-icons.liquid に配置し、sections/main-product.liquid 内の商品説明下などで `{% render 'product-block-trust-icons', block: block %}` で呼び出す。blocks パラメータでブロック設定を受け取る。
注意点
テキストは最大4個まで対応しており、5個以上入力しても4番目までしか表示されない。img_1 ~ img_4 に画像がアップロードされていることが前提で、未設定の場合は `nil` による画像読み込み失敗が発生する。レスポンシブ対応は Bootstrap の col クラスに依存しているため、テーマの CSS フレームワーク設定と整合させる必要がある。
タグ:productblockicontrust-signalresponsive

コード

55 行 / liquid
{% liquid 
  assign pt = block.settings.pt | prepend: 'pt-'
  assign pb = block.settings.pb | prepend: 'pb-'

  if block.settings.text_1 != blank
    assign text_list = block.settings.text_1 | append: ','
  endif
  if block.settings.text_2 != blank
    assign text_list = block.settings.text_2 | append: ',' | prepend: text_list
  endif
  if block.settings.text_3 != blank
    assign text_list = block.settings.text_3 | append: ',' | prepend: text_list
  endif
  if block.settings.text_4 != blank
    assign text_list = block.settings.text_4 | append: ',' | prepend: text_list
  endif

  assign text_list = text_list | split: ','
%}

<div 
  class="product-block-icons {{ pt }} {{ pb }} mx-auto" 
  style="max-width: {{ block.settings.max_width }}px;"
  {{ block.shopify_attributes }}>
  <ul
    class="list-unstyled row justify-content-center text-center mx-n2 mb-0"
    aria-label="{{ block.settings.label }}">
    {% for text in text_list %}
      {% liquid
        case forloop.index
          when 1
            assign img = block.settings.img_1
          when 2
            assign img = block.settings.img_2
          when 3
            assign img = block.settings.img_3
          when 4
            assign img = block.settings.img_4
        endcase
      %}
      <li class="col p-2">
        <img 
          class="img-fluid mb-3"
          src="{{ img | image_url: width: block.settings.img_size }}" 
          alt="{{ img.alt }}"
          width="{{ block.settings.img_size }}"
          height="{{ block.settings.img_size | divided_by: img.aspect_ratio | round }}"
          loading="lazy">
        <div class="rte small lh-sm">
          {{ text }}
        </div>
      </li>
    {% endfor %}
  </ul>
</div>

出典・ライセンス

License:
MIT

このコードは kondasoft 著作の MIT ライセンスソースです。 原本の著作権は kondasoft が保有します。日本語訳は 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