Liquid Snippets by ALSEL
🧭 ヘッダー/フッター/ナビゲーション初級

グローバルナビゲーションメニュー

Shopify 管理画面の「メインメニュー」リンクリストをループし、トップレベルメニュー + 1階層のサブメニューを描画するスニペット。link.title と sub_link.title を escape フィルターでエスケープして XSS 対策を施している。

用途
ストア共通のグローバルナビをヘッダーに配置するとき。トップレベル項目と 1階層のドロップダウンメニューに対応する。
設置場所
shopify/snippets/layout-menu.liquid に配置し、theme.liquid のヘッダー内で `{% render 'layout-menu', class: 'nav-class', style: 'nav-style' %}` で呼び出す。class と style はオプションのカスタマイズ用パラメータ。
注意点
Shopify 管理画面で「メインメニュー」というハンドル名のリンクリストが事前に作成されていることが前提。サブメニューは 1階層のみ対応しており、3階層以上の深いメニューが必要な場合は再帰ループで実装し直す。モバイルビューではドロップダウンが画面外に出ないよう、外側の div に position: relative と z-index を指定し、サブメニュー div に position: absolute で位置調整する。
タグ:navigationmenulinklistsheaderdropdown

コード

19 行 / liquid
<div class="{{ class | default: '' }}" style="{{ style | default: '' }}">
  {% for link in linklists.main-menu.links %}
    <div>
      <a href="{{ link.url }}">
        {{ link.title | escape }}
      </a>

      {% if link.levels >= 1 %}
        <div>
          {% for sub_link in link.links %}
            <a href="{{ sub_link.url }}">
              {{ sub_link.title | escape }}
            </a>
          {% endfor %}
        </div>
      {% endif %}
    </div>
  {% endfor %}
</div>

出典・ライセンス

License:
MIT

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

関連項目

🧭 ヘッダー/フッター/ナビゲーション中級

Alpine.js統合のメニュー開閉

Alpine.js の @click ディレクティブと :class バインディングを使ったメニュー開閉コンポーネント。ボタンクリックで open 状態を切り替え、ul 要素に expanded クラスを条件付きで付与する。

📁 theme-tools·MIT·5
🧭 ヘッダー/フッター/ナビゲーション初級

ヘッダーのレイアウト構造

Web Component のカスタムエレメント `<c-header>` でラップしたヘッダー要素。Tailwind CSS のユーティリティクラスを使い、レスポンシブなパディングとフレックスボックスレイアウトを実装している。

📁 theme-tools·MIT·14
🧭 ヘッダー/フッター/ナビゲーション初級

ナビゲーションバーのロゴ

ストアのロゴをナビゲーションバーに表示し、クリックでホームページに戻るコンポーネント。ロゴ画像がない場合はストア名をテキストで表示する。

📁 ks-bootshop·MIT·18
🧭 ヘッダー/フッター/ナビゲーション初級

決済方法アイコン

ストアで有効な決済手段のアイコンをリスト表示するスニペット。Shopify が提供する `payment_type_svg_tag` フィルタを使い、クレジットカード・Apple Pay・Google Pay などのロゴを自動的に描画する。

📁 ks-bootshop·MIT·18
🧭 ヘッダー/フッター/ナビゲーション初級

フッター

ストア共通のフッターセクション。管理画面で設定したフッターメニュー(リンクリスト)をループ表示し、著作権表記を出す。

📁 shopify-theme-lab·MIT·25
🧭 ヘッダー/フッター/ナビゲーション初級

ストアヘッダー

ロゴ、グローバルナビゲーション、顧客アカウントメニュー、カートへのリンクを含むストア共通ヘッダーセクション。顧客ログイン状態を判定し、ログイン前後で表示内容を出し分ける。

📁 shopify-theme-lab·MIT·37