公開スライド — コンテキストスライドメニュー

適用対象: コンテキストスライドメニュー

スライドメニューはスティッキーとは異なります: 公開後、メニューは自動的に表示されません。アクションによってトリガーされたときのみ開きます。これがスティッキーメニューとの主な違いです。


公開フロー

ステップ 1: コードをウェブサイトに埋め込む
        ↓
ステップ 2: "このメニューを公開"トグルを有効にする
        ↓
ステップ 3: トリガーを設定する(メニューを開く方法)

ステップ2の後、メニューはウェブサイトに読み込まれますが、隠れた状態です。ステップ3で何がそれを開くかを決定します。


ステップ 1: コードを埋め込む

Shopify: テーマエディタ → アプリ埋め込みに移動し、Navi+を有効にします。これは一度だけ行ってください。

グローバル: <head>に貼り付けます:

<script>(window._navi_setting ||= []).push({
  token: "YOUR_NAVI_TOKEN"
});</script>
<script src="https://live.naviplus.app/start.js" async></script>

ステップ 2: トグルを有効にする

公開モーダルで“このメニューを公開”トグルを有効にします。

このステップの後、メニューはまだウェブサイトに表示されません。これは予想されることです — スライドメニューは開くためのトリガーが必要です。


ステップ 3: トリガーを設定する

トリガーUIは2つのタブに分かれています: モバイル設定デスクトップ設定。方法は自由に組み合わせることができます。開発者向けゾーンはタブの外にあります。


方法 1: Navi+メニュー項目から開く

任意のメニュー項目のリンクフィールドにopen:NaviMenu(embed_id)の構文を使用します。embed_idはモーダルに表示され、クリックしてコピーできます:

open:NaviMenu(ABC123)

ビジネスプラン以上が必要です(2つ以上のメニューが必要)。

モバイル — 一般的な使用例:

  • 「☰ メニュー」のような最初の項目を持つタブバーがスライドメニューを開く — 最も一般的な設定
  • スライドメニューを開く単一項目のFAB & サポートメニュー
  • ヘッダーの下に「☰ メニュー」項目を持つモバイルメガメニュー

デスクトップ — 一般的な使用例:

  • 「☰ メニュー」項目を持つデスクトップメガメニュー — モバイルと一貫した体験を維持
  • ロゴの前に配置された単一の「☰」項目を持つデスクトップメガメニュー — デスクトップでモバイルハンバーガーを反映(CSSが必要; ヘルプが必要な場合はお問い合わせください)
  • スライドメニューを開く単一項目のFAB & サポートメニュー
  • 「☰ メニュー」項目を持つタブバー

方法 2: 要素をクリックしたときに開く(CSSセレクタ)

1つ以上のCSSセレクタをカンマで区切って入力します(,)。

デバイス固有の構文:

サフィックス デバイス
#element モバイルとデスクトップの両方
#element(M) モバイルのみ
#element(D) デスクトップのみ

ステップ 1 — セレクタを見つける:

Shopify(Dawn, Craft, Spotlight…)で: モバイルハンバーガーメニューには#Details-menu-drawer-containerを試してください。他のテーマでは、Navi+デバッグモードを使用します: yoursite.com/#navidebug-onにアクセスし、要素にカーソルを合わせ、Cmd/Ctrl+Cを押してセレクタをコピーします。

デスクトップで: 通常、ハンバーガーアイコンはありません — クリック可能なトリガーを作成する必要があります:

  • 既存のメガメニューに「☰ メニュー」項目を追加
  • または、HTML/CSSを使用してロゴの前に☰アイコンを配置します(ヘルプが必要な場合はお問い合わせください)

ステップ 2 — UXを最適化: 設定後、レイアウトのフラッシュを避けるために置き換えられた要素にローディングインジケーターを追加します — 公開最適化を参照してください。


高度な設定(デスクトップ):固定サイドバー

開閉の代わりに、スライドメニューはデスクトップで常に表示されるサイドバーとして表示できます。

有効にする方法: 高度な設定スライドイン方向 → 固定サイドバーオプションを選択 → 「デスクトップに固定メニューを表示」を有効にします。

トリガーは必要ありません — メニューはデスクトップで常に表示されます。


開発者向け:JavaScript関数

ページコードのどこからでもこの関数を呼び出します:

naviman.openNaviMenu('EMBED_ID')

固定セレクタなしでスライドメニューをカスタムUIに統合するのに適しています。


トラブルシューティング

トグルが有効なのにメニューが表示されない? → 正常な動作です。スライドメニューにはトリガーが必要です(ステップ3)。少なくとも1つの方法が設定されていることを確認してください。

CSSセレクタが機能しない?

  1. Navi+デバッグモードを使用して、要素の正確なセレクタを見つけます。
  2. 要素が実際にページに存在することを確認します(いくつかのテーマは特定のブレークポイントで要素を隠したり削除したりします)。
  3. デバイスごとに分けるために(M)または(D)サフィックスを追加してみてください。

同じページに複数のスライドメニューを持ちたいですか? → 各メニューに異なるembed_idを持たせ、異なるトリガーを使用して別々のメニューを作成します。