欢迎来到 Miucms 插件开发演示。
这里不是业务插件,而是一份可运行的开发样例。你可以从下面的卡片进入自定义配置页、打开前台演示页,再按“开发流程”查看代码分别放在哪个文件。
打开前台演示页
配置项
站点:{$config.site_name|default='我的演示站点'}
作者:{$pluginInfo.author|default='Miucms'}
作者官网: {if !empty($pluginInfo.author_url)} 访问官网 {else /}未设置{/if}
页脚注入:{if !empty($config.enable_footer)}已开启{else /}未开启{/if}
示例 Key:{if !empty($config.demo_api_key)}已配置(内容不回显){else /}未配置{/if}
后台页面
首页:admin/view/index.html
配置页:admin/view/config.html
控制器:admin/controller/Index.php
前台入口
路由:demo/hello
模板标签:{demo:hello name='访客' /}
数据表:demo_record
建议按这个顺序体验
1. 配置插件

进入“插件配置”填写站点名和欢迎语。密码字段不会回显;留空保存表示保留旧值。

2. 查看前台

打开前台演示页,观察配置读取和 {demo:hello} 标签的输出。

3. 触发文档钩子

发布一篇文档,documentAdded() 会将标题写入插件自己的数据表。

4. 阅读源码

从 Plugin.php 开始,再看菜单、控制器、视图、路由、标签和 SQL 文件。

这个插件演示了什么
  • getConfigFields():text、textarea、switch、number、radio、select、password、help_area、条件显示。
  • PluginAdminBase:后台登录校验、插件视图渲染和配置读取。
  • 自动钩子:templateParse()、documentAdded()、userLogin()。
  • 映射钩子:hooks.php 将 search_before 指向 onSearchBefore()。
  • 前台路由:route.php → 控制器 → 独立模板。
  • 模板标签:参数通过 var_export() 安全写入编译代码,输出时做 HTML 转义。
  • 数据表:安装脚本使用 __PREFIX__,只创建插件自己的表。
  • 配置中的示例 API Key 仅演示密码字段,不会调用服务,也不会显示明文。
文档发布记录 (由 document_added 钩子写入,最多显示 {$limit} 条)
{empty name="records"} {/empty} {volist name="records" id="vo"} {/volist}
记录 ID文档 ID文档标题记录时间
暂无记录。确认插件已安装并启用后,到后台发布一篇文档即可体验。
{$vo.id} {$vo.doc_id} {$vo.doc_title} {:date('Y-m-d H:i:s', $vo.created_at)}