ダイナミックソースで運用に乗せる
セクション/ブロックの設定をメタフィールドに接続し、テンプレート共通の実装で商品ごとに値を変えられる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、セクションやブロックの設定をメタフィールドに接続し、1つのテンプレートで商品ごとに違う値を出せるようになります。
受託では、「商品ごとに違うバナー」を商品ごとのテンプレートで作るとテンプレート数の上限と保守で破綻するので、まずダイナミックソースを検討します。
ダイナミックソースとは、設定にメタフィールドを繋ぐ仕組み
テーマエディタで設定の「ダイナミックソースを接続」を選ぶと、テンプレートJSONやsettings_data.jsonに"{{ product.metafields.custom.material }}"のような参照が保存されます。
描画のときに、この参照が実際の値に置き換わります。
セクション側のLiquidは、通常どおり`section.settings.x`を読むだけです。
文脈で解決先が変わる
どのメタフィールドが候補になるかは、テンプレートの文脈で決まります。
productテンプレートでは商品の、collectionではコレクションのメタフィールドです。
pageではページの、テーマ設定ではショップのメタフィールドです。
だから1つのproductテンプレートで、「商品ごとに違う内容」が出せます。
テンプレートを商品ごとに増やすより、上限と保守性の両方で有利です。
設定の型とメタフィールドの型は対応が要る
接続できるのは、設定の型とメタフィールドの型が対応している組み合わせだけです。image_pickerには画像のfile_reference、richtextにはrich_text_field、textには単一行テキスト、urlにはurl、productにはproduct_referenceが対応します。
完全な対応表は公式で確認します。
発展:標準定義とカテゴリメタフィールド
Shopifyが用意する標準定義(素材・色など)と、商品カテゴリに紐づくカテゴリメタフィールドは、フィルタや販売チャネルでも使われます。
独自の定義を作る前に、まず標準の定義を検討します。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。