Horizonテーマのセクション&ブロック構造を俯瞰できるツール

Horizonテーマのセクション&ブロック構造を俯瞰できるツール

Horizonは、Shopifyが推進するテーマブロック(Theme Blocks)アーキテクチャが本格的に採用されたテーマです。従来はセクション単位で完結していた構成が、Horizonではブロック単位に細分化されています。

ただ、柔軟なレイアウト設計が可能になった一方で、ひとつのセクションの挙動を理解するために複数のブロックファイル・スニペット・アセットを横断して読み解く必要があり、カスタマイズの難易度は従来テーマと比べて格段に上がったと感じています。

そこで、自分自身がカスタマイズする際に「どのファイルが何を担当しているのか」「この設定はどのブロックに影響するのか」を毎回コードを追って確認するのが辛くなってしまったので、セクションとブロックの関連ファイルを俯瞰して確認できるツールを(あくまでも個人用としてですが)作成してみました。

ツールはこちらでご確認いただけます:
https://store-dojo.com/pages/horizon_section_inventory

主な機能

1. セクション / ブロックのカード一覧表示

すべてのセクション・ブロックがカード形式で一覧表示されます。各カードには以下の情報がまとまっています。

  • サムネイル ― セクションの実際の表示をキャプチャしたプレビュー画像
  • カテゴリラベル ― 「コレクション」「バナー」などの用途別カテゴリ
  • セクション名 ― テーマエディタに表示される日本語名
  • ファイル名 ― 対応するLiquidファイル名
  • プリセット一覧 ― そのセクションで利用可能なレイアウトバリエーション
  • 解説文 ― セクションの役割や機能の説明
  • メタ情報バッジ ― snippets・assets・blocks・settings の件数を色分け表示

セクション一覧トップ画面

2. カテゴリフィルターとテキスト検索

画面上部のフィルターバーを使って、セクションやブロックをカテゴリ別に絞り込めます。

検索窓からセクション名・説明文でのリアルタイム検索も可能です。

「商品」フィルター適用時

3. セクション詳細モーダル

カードをクリックすると、そのセクションの詳細情報がモーダルで展開されます。ここがこのツールの最大の特長です。

  • 参照スニペット ― そのセクションが直接呼び出しているスニペットファイルの一覧
  • 関連アセット ― 動作に必要なJS/CSSファイル
  • 許可・静的ブロックcontent_for 'block' による静的ブロックの呼び出し関係と、実際のLiquidコードの抜粋
  • 設定項目テーブル ― テーマエディタのカスタマイズパネルに表示される全設定を一覧化
    • 設定ID / 型(スライダー、選択式、配色スキーム選択など)/ デフォルト値 / 設定内容 / 操作対象ファイル

セクション詳細モーダル

設定項目テーブル

4. ブロック一覧と呼び出し元の可視化

「ブロック」タブではブロックファイルの一覧が表示されます。ブロックカードでは通常の情報に加えて、呼び出し元(どのセクション・ブロックから使われているか)がチップ形式で表示されます。(呼び出し元がおかしいなどありましたら大変申し訳ございませんがご容赦ください。ファイル数が膨大なこともあり検証しながら作成している状況です

ブロック一覧

5. Shopifyテーマエディタへの直リンク

画面上部の「ストアURL」欄にテーマのURLを入力しておくと、設定項目テーブル内のファイル名がすべてShopifyテーマエディタへのリンクに変わります。ツールで見つけた設定の該当箇所にワンクリックでジャンプ可能です。

ストアURLバー

どんなときに役立つ?

シーン 使い方
テーマの全体把握 セクション一覧をカテゴリ別に眺めて、どんな機能があるか確認
カスタマイズの事前調査 詳細モーダルで設定項目と型を確認し、変更の影響範囲を予測
ブロックの依存関係調査 ブロックタブで呼び出し元を確認し、修正の影響範囲を把握
開発時のファイル探索 検索機能とエディタ直リンクで目的のコードに素早くアクセス

技術的な特徴

  • 完全なシングルページアプリケーション ― フレームワーク不要のバニラJS/CSS/HTMLで構成
  • データ埋め込み型 ― テーマのスキーマ情報をビルド時にJSONとして埋め込み。サーバー不要で動作
  • 日本語完全対応 ― Shopifyの t: 翻訳キーを解決し、すべてのセクション名・設定ラベルを日本語で表示
  • URLハッシュによるステート管理 ― 特定のセクションやブロックの詳細ページをブックマーク・共有可能
  • レスポンシブ対応 ― デスクトップ・タブレット・モバイルに対応

まとめ

Horizonのテーマブロックアーキテクチャは強力ですが、ファイルが細分化されている分、全体像の把握に手間がかかります。このツールは自分自身のカスタマイズ作業を効率化するために作ったものですが、今後もHorizonのアップデートに合わせて今後もデータや機能を更新していく予定です。

ツールはこちらでご確認いただけます:
https://store-dojo.com/pages/horizon_section_inventory

ブログに戻る