Plugins
插件
与 WordPress 一样,功能通过插件来添加。不同之处在于,一个插件可以同时包含“管理后台端(Laravel)”和“网站端(Next.js)”。在管理后台启用后,从下一次构建起就会反映到网站上。
插件能做什么
Laravel
管理后台端
adminRoutes()管理后台页面
在 /admin 下添加页面
menu()侧边栏菜单
向管理后台菜单添加项目
dashboardWidget()仪表盘
向仪表盘添加小组件
migrations()数据表
创建插件专用的数据表
apiRoutes()公开 API
添加供静态构建读取的 API
mcpRoutes() / mcpScopes()MCP 工具
添加面向 AI 智能体的工具与权限
artisan() / schedule()命令与定时执行
数据导入等定时任务
publicSettings() / frontendEnv()设置传递
传给网站的设置值、环境变量
Next.js
网站端
routes/网站页面
向公开网站添加一组新页面
nav / footerLinks导航
向页眉、页脚添加链接
slots插入位置
在文章下方、首页末尾等处插入组件
sections首页组件
添加固定页面的区块类型
sitemap站点地图
将新增页面写入 sitemap.xml
tracking点击统计
添加 CTA 点击的分类规则
钩子 17
可以在安装、构建、插件启用、统计事件等时机插入处理(与 WordPress 的 action / filter 思路相同)。
- cms.core.installed
- cms.core.upgraded
- cms.core.booted
- cms.setup.completed
- cms.plugin.installed
- cms.plugin.enabled
- cms.plugin.disabled
- cms.plugin.updated
- cms.build.before
- cms.build.after
- cms.frontend.env
- cms.public_settings
- cms.page.section_types
- cms.mcp.tools
- cms.mcp.scopes
- cms.tracking.event_recorded
- cms.tracking.conversion_recorded
插件示例
- 内置
活动落地页
管理并统计从外部落地页工具导入的活动页面。
- 内置
Hello World
插件模板。可以查看管理后台、API 与网站端的最小构成。
- 已在自有媒体中运行
地区目录
按都道府县、市区町村、车站划分的列表页与详情页,乃至数据导入,一个插件全部搞定。
开发、安装、分发
php artisan plugin:make my-feature --frontend生成模板(管理后台端 + 网站端)
php artisan plugin:list已发现的插件及其状态
php artisan plugin:enable my-feature启用(同时创建数据表)
php artisan plugin:install plugin-my-feature.zip --enable放置分发用 zip 并启用
./scripts/package.sh --plugin my-feature生成分发用 zip
laravel/plugins/my-feature/
├── plugin.json # id、名称、版本、所需核心
├── src/Plugin.php # 注册管理后台、API、MCP、任务
├── routes/ # admin.php / api.php / mcp.php
└── database/migrations/
frontend/src/plugins/my-feature/
├── plugin.ts # 导航、页脚、统计规则
├── plugin.server.ts # 插槽、区块、sitemap
└── routes/default/ # 添加到网站的页面停用后数据仍会保留(与 WordPress 相同)。已停用插件的页面不会包含在构建中。