关于 wix-cli-dashboard-menu-plugin
wix-cli-dashboard-menu-plugin 是用于在 Wix CLI 应用中创建仪表盘菜单插件扩展的技能,插件仅需配置文件。它指导选择菜单槽位、设置页面跳转或打开模态框,并注册扩展。
主要功能
- 01创建仪表盘菜单插件配置
- 02选择有效的仪表盘菜单槽位
- 03设置页面跳转或模态框操作
- 04在应用中注册扩展
- 05按 Wix 应用查阅槽位参考
适用场景
- 01向 Wix 仪表盘添加菜单项
- 02将仪表盘菜单项链接到页面
- 03通过菜单项打开仪表盘模态框
- 04查找特定 Wix 商业应用的槽位
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wix/ skills --skill wix-cli-dashboard-menu-plugin安装后在 Claude Code 中输入/wix-cli-dashboard-menu-plugin确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/blog-slots.mdbookings-slots.mdcrm-slots.mdecommerce-slots.mdevents-slots.mdrestaurants-slots.mdstores-slots.md详细介绍
Wix 仪表板菜单插件构建器
为 Wix CLI 应用创建仪表板菜单插件扩展。仪表板菜单插件是在由 Wix 第一方业务应用(Wix Stores、Wix Bookings、Wix Blog、Wix eCommerce、Wix Events、Wix CRM、Wix Restaurants)管理的仪表板页面上,集成到预定义菜单槽位中的菜单项。
点击仪表板菜单插件后,它会导航到仪表板页面或打开仪表板模态框。
仪表板菜单插件是仅包含配置的扩展——它们没有 React 组件文件。
快速入门清单
创建仪表板菜单插件时,请按顺序执行以下步骤:
- 确定目标菜单槽位 ID——请参阅下方的槽位查找表,然后只阅读相关垂直领域文件
- 创建插件文件夹:
src/extensions/dashboard/menu-plugins/<plugin-name>/ - 使用
extensions.dashboardMenuPlugin()和唯一 UUID 创建<plugin-name>.extension.ts - 配置
action字段,使其导航到仪表板页面或打开模态框 - 更新
src/extensions.ts,导入并使用新扩展
架构
仪表板菜单插件是点击后执行操作的菜单项。它们会:
- 在 Wix 应用的仪表板页面上的菜单槽位中,以带图标的标签项形式显示
- 点击后执行以下两种操作之一:
- 导航到仪表板页面——重定向到指定的仪表板页面
- 打开仪表板模态框——显示指定的仪表板模态框
文件和代码结构
仪表板菜单插件位于 src/extensions/dashboard/menu-plugins/ 下。每个插件都有自己的文件夹,其中包含一个文件。
src/extensions/dashboard/menu-plugins/
└── <plugin-name>/
└── <plugin-name>.extension.ts # Builder configuration
**注意:**这是 CLI 创建的默认文件夹结构。你可以将文件移至
src/文件夹中的任意位置,并更新extension.ts文件中的引用。
插件构建器配置
文件:<plugin-name>.extension.ts
import { extensions } from "@wix/astro/builders";
export const dashboardmenupluginMyMenuPlugin = extensions.dashboardMenuPlugin({
id: "{{GENERATE_UUID}}",
title: "My Menu Plugin",
extends: "<MENU_SLOT_ID>",
iconKey: "Sparkles",
action: {
navigateToPage: {
pageId: "<DASHBOARD_PAGE_ID>",
},
},
});
重要:生成 UUID
id 必须是唯一且固定的 UUID v4 字符串。每个扩展都要生成新的 UUID——不要使用 randomUUID(),也不要复制示例中的 UUID。将 {{GENERATE_UUID}} 替换为新生成的 UUID,例如 "a1b2c3d4-e5f6-7890-abcd-ef1234567890"。
构建器字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 唯一的插件 ID(GUID)。必须在项目的所有扩展中保持唯一。 |
title | string | 菜单项上显示的文本。 |
extends | string | 扩展集成的菜单槽位 ID。请参阅槽位查找表。 |
iconKey | string | 来自 Wix Design System、显示在标题旁边的图标名称。 |
action | object | 导航配置,用于确定点击后的行为。 |
extends 字段
extends 字段用于指定承载菜单插件的仪表板菜单槽位。每个 Wix 业务应用都会在其仪表板页面上提供菜单槽位。必须提供准确的槽位 ID。
**重要:**不同仪表板页面上可能会出现 ID 相同的槽位。如果你为一个存在于多个页面上的槽位创建菜单插件,该插件会显示在所有这些页面上。
如需查看可用菜单槽位 ID 的完整列表,请参阅下方的槽位查找表。只阅读与用户请求相符的垂直领域文件。
action 字段
action 字段用于确定用户点击菜单项后发生的操作。必须准确配置以下选项之一:
选项 1:导航到仪表板页面
action: {
navigateToPage: {
pageId: "<DASHBOARD_PAGE_ID>",
},
},
| 字段 | 类型 | 说明 |
|---|---|---|
action.navigateToPage | object | 页面导航配置对象。 |
action.navigateToPage.pageId | string | 目标仪表板页面扩展的 id。 |
选项 2:打开仪表板模态框
action: {
openModal: {
componentId: "<DASHBOARD_MODAL_ID>",
},
},
| 字段 | 类型 | 描述 |
|---|---|---|
action.openModal | object | 模态框导航配置对象。 |
action.openModal.componentId | string | 目标仪表板模态框扩展的 id。 |
iconKey 字段
iconKey 必须是 Wix Design System 图标集(@wix/wix-ui-icons-common)中的有效图标名称。使用 wds-docs 技能查找可用的图标名称。
扩展注册
扩展注册是强制要求,且包含两个必需步骤。
步骤 1:创建特定于插件的扩展文件
每个仪表板菜单插件都需要在其文件夹中包含一个 <plugin-name>.extension.ts 文件。请参阅上文的插件构建器配置。
步骤 2:在主扩展文件中注册
**重要:**创建特定于插件的扩展文件后,必须阅读 wix-cli-extension-registration,并按照“应用注册”部分更新 src/extensions.ts。
如果未完成步骤 2,仪表板菜单插件将不会显示在仪表板页面上。
硬性约束
- 不要虚构或假设新的类型、模块、函数、属性、事件或导入项——只能使用提供的参考资料中明确列出的实体,或项目中已使用的标准库
- 绝不在任何代码中使用模拟、占位符或 TODO——始终实现完整的、可用于生产环境的功能
extends字段必须包含 Wix 商业应用中的有效菜单插槽 ID——不要虚构插槽 IDaction.navigateToPage.pageId必须引用项目中现有仪表板页面扩展的idaction.openModal.componentId必须引用项目中现有仪表板模态框扩展的id- 仪表板菜单插件没有 React 组件——它仅由配置构成
- 不要将仪表板菜单插件与仪表板插件混淆——它们是不同的扩展类型
插槽查找表
确定用户要使用的 Wix 应用,然后只读取对应的插槽 ID 参考文件。
| Wix 应用 | 关键词 | 插槽参考 |
|---|---|---|
| Wix Blog | 博客、文章、分类、标签、草稿、定时发布 | blog-slots.md |
| Wix Bookings | 预约、日历、服务、员工、预约列表 | bookings-slots.md |
| Wix CRM | CRM、联系人 | crm-slots.md |
| Wix eCommerce | 电子商务、订单、支付 | ecommerce-slots.md |
| Wix Events | 活动、嘉宾、RSVP、售票 | events-slots.md |
| Wix Stores | 商店、产品、库存、商品目录 | stores-slots.md |
| Wix Restaurants | 餐厅、预订、在线订单、菜单 | restaurants-slots.md |
输出约束
**Token 限制:**输出上限约为 10,000 个 token。请规划回复,确保不超过此限制。
- 仅输出任务直接要求的文件
- 除非明确要求,否则不要添加 README.md 或文档文件