🏗️ テーマ基盤初級
テーマ全体のHTML骨組み
すべてのページの共通HTML構造を定義するマスターレイアウトファイル。メタタグ、CSS・JavaScript の読み込み、ヘッダーセクション、ページ内容の出力を一元管理する。
用途
Shopify テーマ開発の基盤。すべてのページテンプレート(商品ページ、コレクション、トップページなど)はこのファイルを通じて HTML に展開される。
設置場所
layout/theme.liquid に配置する。このファイルはファイルシステムに一度だけ存在し、`{% sections 'header-group' %}` と `{{ content_for_layout }}` プレースホルダーで各ページテンプレートの内容を挿入する。
注意点
`content_for_header` には Shopify 管理画面の「テーマ設定 > その他スクリプト」や Shopify アプリが自動挿入するタグが含まれるため、削除してはいけない。`lang="en"` は `shop.locale` や Shopify Markets の設定に応じて動的に変更するか、多言語対応テーマの場合は条件分岐で各言語コードを指定する。メタビューポートの initial-scale は 1.0 で固定し、ユーザーによるズーム禁止(maximum-scale=1.0)は追加しないこと(アクセシビリティ基準違反)。
コード
15 行 / liquid<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="module" src="{{ 'theme.js' | asset_url }}"></script>
{{ 'theme.css' | asset_url | stylesheet_tag }}
{{ content_for_header }}
</head>
<body>
{% sections 'header-group' %}
{{ content_for_layout }}
</body>
</html>
出典・ライセンス
- 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 行