Dcat-admin(plus版) v3.0.10 发布:详情页自动识别 Markdown,区间选择器开箱即用
dcat-plus/laravel-admin v3.0.10 正式发布(2.x 版本线同步发布 v2.0.27)。这个版本解决两个后台开发中的高频痛点:同一字段的内容来自不同编辑器时详情页怎么预览,以及起止时间怎么在一个输入框里选完。都是小改动,但每天都在用。
🚀 一句话升级
composer require dcat-plus/laravel-admin:^3.0
PHP >= 8.3,Laravel 12 ~ 13;2.x 用户把版本约束换成 ^2.0 即可(v2.0.27 内容一致)。
📄 痛点一:内容字段是 Markdown 还是 HTML?不用再猜了
后台常见的一幕:帖子、文章、公告的 content 字段,有的记录是富文本编辑器(UEditor)存的 HTML,有的是 Markdown 编辑器存的纯文本。详情页想正确预览,以前只能按字段写死:
$show->field('content', '内容')->unescape(); // Markdown 帖子显示一堆 ## 和 **
// 或者
echo Markdown::make($content); // HTML 帖子显示一堆 <p> 标签
现在一个方法搞定:
$show->field('content', '内容')->richText();
richText() 会自动识别内容格式并选择渲染方式:
HTML 内容(editor 编辑器保存)→ 原样渲染,等价
unescape();Markdown 内容(markdown 编辑器保存)→ 交给内置 Markdown 组件渲染,标题、代码块、表格、图片全部正常显示;
纯文本 → 安全兜底,视觉不变。
识别逻辑是启发式的:UEditor 保存的内容必然带 <p> 包裹、 等指纹,优先按 HTML 判断;再看 # 标题、围栏代码、列表、[链接](url) 等 Markdown 特征。自定义页面也可以直接用底层能力:
use Dcat\Admin\Support\ContentFormat;
ContentFormat::render($detail['docs_contents']); // 返回可直接嵌入的 HTML
📅 痛点二:起止时间,一个输入框选完
框架原有的 datetimeRange 是两个独立输入框,移动端体验和操作效率都不理想。这次把广受好评的 daterangepicker 单输入框区间选择器收编为内置字段:


// 日期时间区间(存 start_at / end_at 两列,与 datetimeRange 完全兼容)
$form->datetimeRangePicker('start_at', 'end_at', '活动时间');
// 纯日期区间(存 YYYY-MM-DD,回显自动截断时间部分)
$form->dateRangePicker('start_date', 'end_date', '活动日期');
特性:
一个输入框内弹出日历,拖选起止区间,中文界面、支持时分秒;
点「确定」才写回,点「清除」保留原值,不会误触丢数据;
提交时拆写两个隐藏域按两列存储——存储结构、回显、查询与
datetimeRange完全一致,老数据无缝切换;插件资源随包分发(新增
@daterangepicker资源别名),无需额外安装。
📦 2.x 用户
v2.0.27 与 v3.0.10 内容完全一致,composer require dcat-plus/laravel-admin:^2.0 即可。
🔗 链接
在线演示(laravel13 + php8.4,3.x):laravel13.dcat-admin.com/admin
官方网站 / 文档:www.dcat-admin.com
💬 交流与支持
加作者微信 Q3664839,加入 dcat-admin 开发交流群;
欢迎Star / 提 Issue / 提 PR,也欢迎赞助开源,让 Dcat-Plus 走得更远。
Dcat-Plus Admin —— 汇聚 Filament、Laravel-Admin、Dcat-Admin 优点于一身的 Laravel 极速开发框架。写更少的代码,交更棒的活。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: