Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

mega-menu-builder大型菜单生成器

Agent Skill

mega-menu-builder 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

432

周安装

18

GitHub Stars

19

下载量

144
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:mega-menu-builder(大型菜单生成器)
来源仓库:https://github.com/finsilabs/awesome-ecommerce-skills
仓库路径:skills/mega-menu-builder
安装命令:
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill mega-menu-builder
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill mega-menu-builder

简介

mega-menu-builder 用于查找、检索和筛选相关信息。

  • 适合根据关键词、任务场景或来源线索快速定位候选结果。
  • 可在 Codex、Claude、Cursor、Gemini CLI 中辅助信息聚合与匹配。
  • 安装前需确认权限范围和维护状态,注意是否触发联网或命令执行。
  • 建议结合原始 README 核验具体功能和使用方式。

SKILL.md

Mega Menu Builder

Overview

Build a horizontal navigation bar that expands into full-width panels containing category columns, featured product cards, and promotional banners. The mega menu is driven by content manageable in your platform's admin, supports keyboard navigation and screen readers, and degrades gracefully to a mobile hamburger drawer.

When to Use This Skill

  • When a store has 3+ top-level categories, each with significant sub-categories
  • When the navigation needs to surface promotional content (seasonal banners, featured products) alongside category links
  • When rebuilding navigation as part of a storefront redesign
  • When the current dropdown menu is not accessible to keyboard or screen reader users
  • When navigation content needs to be managed by a merchandiser without code deploys

Core Instructions

Step 1: Determine the merchant's platform and choose the right approach

PlatformRecommended ApproachWhy
ShopifyConfigure nested menus in Navigation admin + use an OS2.0 theme that supports mega menus (Impulse, Empire, Prestige) or install Meteor Mega Menu appShopify's Navigation admin supports 3-level menus; premium themes like Impulse include built-in mega menu sections with image and banner support
WooCommerceUse Max Mega Menu plugin (free/pro) or WP Mega Menu with your existing WordPress themeMax Mega Menu integrates with any WordPress theme, adds image widgets and custom content to any menu item, and works with Elementor and Gutenberg
BigCommerceUse Header & Navigation section in the Theme Editor with a theme that supports mega menus (Cornerstone Advanced, Merchant); or install Shogun page builder which includes mega menu blocksBigCommerce themes vary in mega menu support; Cornerstone Advanced has a built-in mega menu; Shogun adds it to any theme
Custom / HeadlessBuild a data-driven mega menu component with hover/focus open logic, keyboard navigation (arrow keys, Escape), and a mobile accordion drawerFull control over content model, animations, and accessibility patterns; see implementation below

Step 2: Set up navigation content


Shopify

Configuring nested navigation:

  1. Go to Online Store → Navigation
  2. Open your Main menu (or create one)
  3. For each top-level item that needs a mega panel, click Add menu item and nest sub-items under it using the indent controls
  4. Shopify supports up to 3 levels of nesting (top → category → sub-category)
  5. Save the menu

Enabling mega menu in a compatible theme:

If using a theme with built-in mega menu support (Impulse, Prestige, Empire):

  1. Go to Online Store → Themes → Customize
  2. Navigate to the Header section
  3. Under Mega menu settings, select which top-level nav items should trigger the mega panel vs. a simple dropdown
  4. For each mega panel, add image blocks, featured product blocks, and promotional banner blocks using the section editor

Using Meteor Mega Menu app (works with any Shopify theme):

  1. Install from the Shopify App Store
  2. In the app, select which menu items get mega panels
  3. For each panel, add columns of links, product cards (pulled from your Shopify catalog), and image/banner blocks
  4. The app injects the mega menu into your theme without editing theme code

WooCommerce

Using Max Mega Menu (free tier):

  1. Install Max Mega Menu from WordPress.org
  2. Go to Appearance → Menus and open your primary navigation menu
  3. Enable Max Mega Menu for this menu via the Max Mega Menu Settings panel
  4. For each top-level menu item that should have a mega panel:

- Click the Mega Menu toggle on the item - Select the panel layout (e.g., 3 columns)

  1. In each column, add menu items, widgets (images, HTML, WooCommerce product widgets), or text blocks
  2. Go to Appearance → Max Mega Menu → Appearance to set the panel width to full-width and configure hover behavior

Integrating with Elementor: If your store uses Elementor, install Happy Addons or ElementsKit — both include a drag-and-drop mega menu builder that works within Elementor's visual editor.


BigCommerce

Cornerstone Advanced theme:

  1. Go to Storefront → My Themes → Customize
  2. In the Header section, find Navigation style and set it to Mega Menu
  3. For each top-level category, you can add a featured image and banner in the Category settings (Products → Categories → [category] → Image)
  4. BigCommerce automatically populates the mega panel with sub-categories; the theme renders them in a multi-column layout

Shogun page builder:

  1. Install Shogun from the BigCommerce App Marketplace
  2. Use Shogun's Header component to build a custom mega menu with full drag-and-drop control over columns, images, and links
  3. Publish the header globally across all pages

Custom / Headless

Navigation component with hover/focus open logic:

// MegaNav.jsx
import { useState, useRef } from 'react';

export function MegaNav({ items }) {
  const [activeItem, setActiveItem] = useState(null);
  const closeTimer = useRef(null);

  function openMenu(id) { clearTimeout(closeTimer.current); setActiveItem(id); }
  function scheduleClose() { closeTimer.current = setTimeout(() => setActiveItem(null), 150); }
  function cancelClose() { clearTimeout(closeTimer.current); }

  return (
    <nav aria-label="Main navigation">
      <ul role="menubar" className="nav-bar">
        {items.map(item => (
          <li key={item.id} role="none"
              onMouseEnter={() => item.megaMenu && openMenu(item.id)}
              onMouseLeave={scheduleClose}>
            <a href={item.url} role="menuitem"
               aria-haspopup={item.megaMenu ? 'true' : undefined}
               aria-expanded={activeItem === item.id ? 'true' : undefined}
               onFocus={() => item.megaMenu && openMenu(item.id)}
               onKeyDown={(e) => {
                 if ((e.key === 'ArrowDown' || e.key === 'Enter') && item.megaMenu) {
                   e.preventDefault();
                   openMenu(item.id);
                   document.querySelector(`#panel-${item.id} a`)?.focus();
                 }
                 if (e.key === 'Escape') setActiveItem(null);
               }}>
              {item.label}
            </a>
            {item.megaMenu && activeItem === item.id && (
              <MegaPanel id={`panel-${item.id}`} panel={item.megaMenu}
                onMouseEnter={cancelClose} onMouseLeave={scheduleClose}
                onClose={() => setActiveItem(null)} />
            )}
          </li>
        ))}
      </ul>
    </nav>
  );
}

Mega panel layout (columns + featured products + banner):

function MegaPanel({ id, panel, onMouseEnter, onMouseLeave, onClose }) {
  return (
    <div id={id} className="mega-panel" role="region"
         onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>
      <div className="mega-panel-inner">
        <div className="mega-columns">
          {panel.columns.map(col => (
            <div key={col.heading} className="mega-column">
              <p className="column-heading">{col.heading}</p>
              <ul>
                {col.links.map(link => (
                  <li key={link.url}><a href={link.url} onClick={onClose}>{link.label}</a></li>
                ))}
              </ul>
            </div>
          ))}
        </div>
        {panel.banner && (
          <a href={panel.banner.url} className="mega-banner" onClick={onClose}>
            <img src={panel.banner.image} alt={panel.banner.alt} loading="lazy" />
            <span className="banner-cta">{panel.banner.cta}</span>
          </a>
        )}
      </div>
    </div>
  );
}
.mega-panel {
  position: absolute; top: 100%; left: 0; width: 100vw;
  background: #fff; border-top: 2px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12); z-index: 100;
}
.mega-panel-inner {
  display: grid; grid-template-columns: 1fr 1fr 1fr 200px;
  gap: 2rem; max-width: 1200px; margin: 0 auto; padding: 2rem;
}
@media (max-width: 768px) { .mega-panel { display: none; } }

Step 3: Set up the mobile hamburger drawer

All platforms need a touch-friendly mobile navigation to replace the desktop mega menu:

  • Shopify: Modern OS2.0 themes include a built-in mobile drawer — configure it in Online Store → Themes → Customize → Mobile Menu
  • WooCommerce: Max Mega Menu has a built-in mobile mode that converts the mega menu to an accordion drawer; configure in Appearance → Max Mega Menu → Mobile Menu
  • BigCommerce: Cornerstone's mobile navigation drawer is built in; configure the hamburger button position in the Theme Editor
  • Custom: Build a <dialog> or position:fixed side drawer with accordion-style category expansion; apply overflow:hidden to <body> when open

Best Practices

  • Drive menu content from the CMS/admin — merchandisers should update banners and featured products without engineering help
  • Use a 150 ms close delay — prevents the panel from disappearing when the cursor briefly leaves the nav while moving toward the panel
  • Position the panel with position:absolute on the nav bar — not on the individual list item, so the panel spans full viewport width
  • Lazy-load panel images — featured product and banner images should use loading="lazy" since they are not above the fold
  • Test on touch devices — hover events do not fire on iOS/Android; mega menu apps and plugins handle this; for custom builds, use tap-to-open for top-level items on touch

Common Pitfalls

ProblemSolution
Panel closes when moving cursor diagonally from nav item to panelUse a 150–200 ms setTimeout delay before closing; cancel it when cursor enters the panel
Keyboard users cannot reach panel linksUse aria-haspopup and aria-expanded; move focus into the panel on Enter/Space/ArrowDown
Mobile drawer scrolls the body behind itApply overflow:hidden to <body> when drawer is open; restore on close
Banner images cause layout shiftSet explicit width and height attributes on banner <img> elements
Nav overlaps sticky content on scrollSet position:sticky; top:0; z-index:50 on the nav; give the mega panel z-index:100

Related Skills

  • @responsive-storefront
  • @accessibility-commerce
  • @product-categorization
  • @storefront-theming

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.38%
按下载量换算55

Claude

30.75%
按下载量换算44

Cursor

16.97%
按下载量换算24

Gemini CLI

9.97%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills