🏗️ テーマ基盤中級
プライベートブロック呼び出し
content_for タグを使って、プライベート(管理画面非表示)な _static ブロックを別セクション内から呼び出すパターン。ブロックの再利用や複数セクションでの共有データ渡しに活用できる。
用途
複数のセクションから同じプライベートブロック内容を呼び出したいときや、セクション間でデータを共有・演算結果を渡したいとき。
設置場所
blocks/render-static.liquid に配置し、section スキーマで presets を定義。呼び出し側のセクション内で `{% render 'render-static' %}` として使う。
注意点
content_for で渡すブロック ID('static')は同一セクション内で重複しないよう管理する。プライベートブロック(_static)は管理画面の「ブロック追加」メニューに表示されないため、セクション側で常時埋め込まれる前提の設計になる。content_for 内の content パラメータに Liquid 変数を渡す場合は、事前にセクション側で変数をアサインしてから呼び出す。
コード
23 行 / liquid{% doc %}
This block renders the private _static block. Has no schema.
{% enddoc %}
<div class="static-block-wrapper">
{% content_for 'block',
type: '_static',
id: 'static',
content: 'hello world'
%}
</div>
{% schema %}
{
"name": "render static block",
"presets": [
{
"name": "Render Static Block"
}
]
}
{% endschema %}
出典・ライセンス
- Repository:
- https://github.com/Shopify/theme-tools
- License:
- MIT
このコードは Shopify 著作の MIT ライセンスソースです。 原本の著作権は Shopify が保有します。日本語訳は ALSEL によるものです。
関連項目
🏗️ テーマ基盤中級
セクションスキーマのカスタムブロック定義
セクションの schema ブロック内でカスタムブロックタイプを定義する方法を示すサンプル。@theme と _private というプレフィックスで異なるブロック種別を宣言する。
📁 theme-tools·MIT·7 行
🏗️ テーマ基盤初級
セクション呼び出しのフォーマット
Liquid の section タグを複数行に記述する際の正しいフォーマット例。タグ名を改行で分割しても正しく認識される書き方を示す。
📁 theme-tools·MIT·7 行
🏗️ テーマ基盤初級
レイアウトテンプレートの指定
Liquid の `layout` タグを使い、テーマのレイアウトファイルを指定する構文。複数のレイアウト候補と whitespace 制御(ダッシュ記号)の使い方を示す。
📁 theme-tools·MIT·8 行
🏗️ テーマ基盤上級
Liquid フォーマッター互換のセクション表記
Prettier Liquid プラグインのテストケースで、セクションタグの様々な書式を検証する。異なる間隔・改行・ホワイトスペーストリミングの組み合わせでもセクション名が崩れないことを確認する。
📁 theme-tools·MIT·9 行
🏗️ テーマ基盤初級
基本的なHTMLレイアウト
Prettier Liquid プラグインのテスト用に作られた最小限の HTML テンプレート。DOCTYPE から body タグまでの基本的なドキュメント構造を示す。
📁 theme-tools·MIT·10 行
🏗️ テーマ基盤上級
layout タグのフォーマット
Liquid の layout タグの書式をコード品質ツール(Prettier)でフォーマットするテストケース。スペースや改行位置の違いを正規化し、レイアウト名が壊れないことを検証する。
📁 theme-tools·MIT·10 行