wix-cli-dashboard-menu-plugin by wix/skills
npx skills add https://github.com/wix/skills --skill wix-cli-dashboard-menu-plugin为 Wix CLI 应用程序创建仪表板菜单插件扩展。仪表板菜单插件是集成到 Wix 第一方业务应用(Wix Stores、Wix Bookings、Wix Blog、Wix eCommerce、Wix Events、Wix CRM、Wix Restaurants)管理的仪表板页面上预定义菜单插槽中的菜单项。
点击时,仪表板菜单插件要么导航到仪表板页面,要么打开仪表板模态框。
仪表板菜单插件是纯配置型扩展——它们没有 React 组件文件。
创建仪表板菜单插件时,请按顺序执行以下步骤:
src/extensions/dashboard/menu-plugins/<plugin-name>/extensions.dashboardMenuPlugin() 和唯一的 UUID 创建 <plugin-name>.extension.tsaction 字段,使其导航到仪表板页面或打开模态框src/extensions.ts 以导入和使用新扩展广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
仪表板菜单插件作为点击即操作的菜单项运行。它们:
仪表板菜单插件位于 src/extensions/dashboard/menu-plugins/ 目录下。每个插件都有自己的文件夹,其中包含一个文件。
src/extensions/dashboard/menu-plugins/
└── <plugin-name>/
└── <plugin-name>.extension.ts # 构建器配置
注意: 这是 CLI 创建的默认文件夹结构。您可以将文件移动到
src/文件夹内的任何位置,并更新extension.ts文件中的引用。
<plugin-name>.extension.tsimport { 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 设计系统的图标名称,显示在标题旁边。 |
action | object | 点击时决定行为的导航配置。 |
extends 字段extends 字段指定哪个仪表板菜单插槽将承载您的菜单插件。每个 Wix 业务应用在其仪表板页面上都会暴露菜单插槽。您必须提供确切的插槽 ID。
重要提示: 某些具有相同 ID 的插槽会出现在仪表板内的不同页面上。如果您为存在于多个页面上的插槽创建菜单插件,则该菜单插件将在所有这些页面上显示。
有关可用菜单插槽 ID 的完整列表,请参见下方的插槽查找表。仅阅读与用户请求匹配的垂直文件。
action 字段action 字段决定用户点击菜单项时发生的情况。您必须配置以下选项之一:
action: {
navigateToPage: {
pageId: "<DASHBOARD_PAGE_ID>",
},
},
| 字段 | 类型 | 描述 |
|---|---|---|
action.navigateToPage | object | 页面导航配置对象。 |
action.navigateToPage.pageId | string | 目标仪表板页面扩展的 id。 |
action: {
openModal: {
componentId: "<DASHBOARD_MODAL_ID>",
},
},
| 字段 | 类型 | 描述 |
|---|---|---|
action.openModal | object | 模态框导航配置对象。 |
action.openModal.componentId | string | 目标仪表板模态框扩展的 id。 |
iconKey 字段iconKey 必须是来自 Wix 设计系统图标集 (@wix/wix-ui-icons-common) 的有效图标名称。使用 wds-docs 技能来查找可用的图标名称。
扩展注册是强制性的,并且需要两个步骤。
每个仪表板菜单插件都需要在其文件夹中有一个 <plugin-name>.extension.ts 文件。参见上方的插件构建器配置。
关键: 创建插件特定的扩展文件后,您必须阅读 wix-cli-extension-registration 并按照“应用注册”部分更新 src/extensions.ts。
如果不完成步骤 2,仪表板菜单插件将不会出现在仪表板页面上。
extends 字段必须包含来自 Wix 业务应用的有效菜单插槽 ID——不要发明插槽 IDaction.navigateToPage.pageId 必须引用项目中现有仪表板页面扩展的 idaction.openModal.componentId 必须引用项目中现有仪表板模态框扩展的 id确定用户目标指向哪个 Wix 应用,然后仅阅读对应的参考文件以获取插槽 ID。
| Wix 应用 | 关键词 | 插槽参考 |
|---|---|---|
| Wix Blog | blog, posts, categories, tags, drafts, scheduled | blog-slots.md |
| Wix Bookings | bookings, calendar, services, staff, booking list | bookings-slots.md |
| Wix CRM | CRM, contacts | crm-slots.md |
| Wix eCommerce | ecommerce, orders, payment | ecommerce-slots.md |
| Wix Events | events, guests, RSVP, ticketed | events-slots.md |
| Wix Stores | stores, products, inventory, catalog | stores-slots.md |
| Wix Restaurants | restaurants, reservations, online orders, menus | restaurants-slots.md |
令牌限制: 您的最大输出约为 10,000 个令牌。请规划您的响应以保持在此限制以下。
每周安装数
82
代码仓库
GitHub 星标数
3
首次出现
10 天前
安全审计
安装于
opencode80
github-copilot20
codex20
amp20
cline20
kimi-cli20
Creates dashboard menu plugin extensions for Wix CLI applications. Dashboard menu plugins are menu items that integrate into predefined menu slots on dashboard pages managed by Wix first-party business apps (Wix Stores, Wix Bookings, Wix Blog, Wix eCommerce, Wix Events, Wix CRM, Wix Restaurants).
When clicked, a dashboard menu plugin either navigates to a dashboard page or opens a dashboard modal.
Dashboard menu plugins are configuration-only extensions — they do NOT have a React component file.
Follow these steps in order when creating a dashboard menu plugin:
src/extensions/dashboard/menu-plugins/<plugin-name>/<plugin-name>.extension.ts with extensions.dashboardMenuPlugin() and unique UUIDaction field to either navigate to a dashboard page or open a modalsrc/extensions.ts to import and use the new extensionDashboard menu plugins operate as click-to-action menu items. They:
Dashboard menu plugins live under src/extensions/dashboard/menu-plugins/. Each plugin has its own folder containing a single file.
src/extensions/dashboard/menu-plugins/
└── <plugin-name>/
└── <plugin-name>.extension.ts # Builder configuration
Note: This is the default folder structure created by the CLI. You can move the file to any location within the
src/folder and update the references in yourextension.tsfile.
<plugin-name>.extension.tsimport { 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>",
},
},
});
CRITICAL: UUID Generation
The id must be a unique, static UUID v4 string. Generate a fresh UUID for each extension — do NOT use randomUUID() or copy UUIDs from examples. Replace {{GENERATE_UUID}} with a freshly generated UUID like "a1b2c3d4-e5f6-7890-abcd-ef1234567890".
| Field | Type | Description |
|---|---|---|
id | string | Unique plugin ID (GUID). Must be unique across all extensions in the project. |
title | string | Text displayed for the menu item. |
extends | string | Menu slot ID where the extension integrates. See Slot Lookup Table. |
iconKey | string | Icon name from Wix Design System appearing next to the title. |
action | object |
extends FieldThe extends field specifies which dashboard menu slot hosts your menu plugin. Each Wix business app exposes menu slots on its dashboard pages. You must provide the exact slot ID.
Important: Some slots with the same ID appear on different pages within the dashboard. If you create a menu plugin for a slot that exists on multiple pages, the menu plugin is displayed on all of those pages.
For the complete list of available menu slot IDs, see the Slot Lookup Table below. Read only the vertical file that matches the user's request.
action FieldThe action field determines what happens when the user clicks the menu item. You must configure exactly one of the following:
action: {
navigateToPage: {
pageId: "<DASHBOARD_PAGE_ID>",
},
},
| Field | Type | Description |
|---|---|---|
action.navigateToPage | object | Page navigation configuration object. |
action.navigateToPage.pageId | string | The id of the target dashboard page extension. |
action: {
openModal: {
componentId: "<DASHBOARD_MODAL_ID>",
},
},
| Field | Type | Description |
|---|---|---|
action.openModal | object | Modal navigation configuration object. |
action.openModal.componentId | string | The id of the target dashboard modal extension. |
iconKey FieldThe iconKey must be a valid icon name from the Wix Design System icon set (@wix/wix-ui-icons-common). Use the wds-docs skill to look up available icon names.
Extension registration is MANDATORY and has TWO required steps.
Each dashboard menu plugin requires a <plugin-name>.extension.ts file in its folder. See Plugin Builder Configuration above.
CRITICAL: After creating the plugin-specific extension file, you MUST read wix-cli-extension-registration and follow the "App Registration" section to update src/extensions.ts.
Without completing Step 2, the dashboard menu plugin will not appear on the dashboard page.
extends field MUST contain a valid menu slot ID from a Wix business app — do NOT invent slot IDsaction.navigateToPage.pageId MUST reference the id of an existing dashboard page extension in the projectaction.openModal.componentId MUST reference the id of an existing dashboard modal extension in the projectIdentify which Wix app the user is targeting, then read only the corresponding reference file for slot IDs.
| Wix App | Keywords | Slot Reference |
|---|---|---|
| Wix Blog | blog, posts, categories, tags, drafts, scheduled | blog-slots.md |
| Wix Bookings | bookings, calendar, services, staff, booking list | bookings-slots.md |
| Wix CRM | CRM, contacts | crm-slots.md |
| Wix eCommerce | ecommerce, orders, payment | ecommerce-slots.md |
| Wix Events | events, guests, RSVP, ticketed | events-slots.md |
| Wix Stores | stores, products, inventory, catalog |
Token limits: Your max output is ~10,000 tokens. Plan your response to stay under this limit.
Weekly Installs
82
Repository
GitHub Stars
3
First Seen
10 days ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode80
github-copilot20
codex20
amp20
cline20
kimi-cli20
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
122,000 周安装
| Navigation configuration determining behavior when clicked. |
| stores-slots.md |
| Wix Restaurants | restaurants, reservations, online orders, menus | restaurants-slots.md |