Liquid Snippets by ALSEL
🏗️ テーマ基盤中級

セクションスキーマのカスタムブロック定義

セクションの schema ブロック内でカスタムブロックタイプを定義する方法を示すサンプル。@theme と _private というプレフィックスで異なるブロック種別を宣言する。

用途
Online Store 2.0 のセクションで、テーマ組込ブロックやプライベートブロック(管理画面非表示)を定義したいとき。
設置場所
sections/custom-section.liquid の schema ブロック内に記述する。blocks 配列に type キーで "@theme" または "_private" 接頭辞を付けたブロック名を指定して、セクション側で使用可能なブロックタイプを宣言する。
注意点
"@theme" と "_private" はプレフィックスで、実際のブロック種別名は動的に構築される。プライベートブロック("_private")は管理画面のセクション追加メニューに現れず、JSON による直接編集か Shopify CLI での操作が必要。ブロックのレンダリングは {% for block in section.blocks %} ループで実装することが前提。
タグ:sectionschemablockonline-store-2-0theme-customization

コード

7 行 / liquid
{% schema %}
{
  "name": "custom section",
  "blocks": [{ "type": "@theme" }, { "type": "_private" }]
}
{% endschema %}

出典・ライセンス

License:
MIT

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

関連項目

🏗️ テーマ基盤初級

セクション呼び出しのフォーマット

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
🏗️ テーマ基盤初級

DOCTYPE宣言の構文サンプル

HTML5 と過去の DOCTYPE 宣言パターンを網羅したリファレンス。Prettier による Liquid フォーマッタが複数行 DOCTYPE に対応することを示すテストコード。

📁 theme-tools·MIT·12