0

0

告别繁琐集成:如何使用awcodes/filament-tiptap-editor在Filament中轻松实现富文本编辑

王林

王林

发布时间:2025-07-21 14:22:13

|

482人浏览过

|

来源于php中文网

原创

可以通过一下地址学习composer学习地址

在当今的内容驱动型应用中,无论是博客文章、产品描述还是新闻发布,一个功能强大且用户友好的富文本编辑器几乎是不可或缺的。传统的 textarea 标签早已无法满足我们对内容排版、图片插入、列表管理等复杂需求。作为一名开发者,当我们需要为 laravel 应用中的 filament 后台管理系统添加富文本编辑功能时,最初的设想往往是美好的:找一个优秀的 javascript 富文本库,然后将其集成进来。

然而,现实往往比想象中复杂得多。手动集成一个富文本编辑器,尤其是一个像 Tiptap 这样功能丰富的库,意味着一系列繁琐的工作:

  1. 前端集成噩梦: 需要手动引入大量的 JavaScript 和 CSS 文件,处理它们的加载顺序和依赖关系,确保与 Filament 的 Livewire 环境兼容。
  2. 数据格式转换: Tiptap 通常输出 JSON 格式的内容(ProseMirror 文档),而我们可能需要将其存储为 HTML 或纯文本,这就需要额外的后端解析和转换逻辑。
  3. 图片和文件上传: 富文本编辑器往往需要支持图片拖拽上传、文件插入等功能。这不仅涉及前端的上传逻辑,更需要后端接口来处理文件存储、路径管理以及安全验证。
  4. 定制化与扩展: 如果需要自定义工具栏、添加特殊功能(如表格、代码块、引用等),甚至实现自定义内容块,手动实现这些会耗费大量精力。
  5. 主题与样式: 确保编辑器样式与 Filament 后台的整体风格保持一致,避免视觉上的突兀。

这些挑战,如果每一个都需要从零开始解决,无疑会大大拖慢开发进度,甚至可能引入潜在的 bug。我曾深陷于这种困境,尝试过各种手动集成方案,但最终都因其复杂性和维护成本而感到力不从心。直到我发现了 awcodes/filament-tiptap-editor 这个 Composer 包,它彻底改变了我的开发体验。

拥抱 Composer:awcodes/filament-tiptap-editor 的魅力

Composer 作为 PHP 的依赖管理工具,再次展现了它的强大。对于 Filament 开发者而言,awcodes/filament-tiptap-editor 是一个为 Filament 量身定制的 Tiptap 富文本编辑器集成方案,它将上述所有痛点都封装成了简单易用的组件。

安装与集成:一步到位

解决问题的首要步骤就是快速引入:

<code class="bash">composer require awcodes/filament-tiptap-editor:"^3.0"</code>

通过 Composer 安装后,它会作为一个标准的 Filament 表单字段,可以像其他任何字段一样被添加到你的资源或页面中。你不再需要手动处理复杂的 JavaScript 和 CSS 导入,因为它已经为你做好了这些。只需按照文档稍微配置一下 Filament 的主题(主要是导入插件的 CSS 和将视图添加到 Tailwind JIT 扫描路径),即可让编辑器完美融入你的后台界面。

阶跃星辰开放平台
阶跃星辰开放平台

阶跃星辰旗下开放平台,提供文本大模型、多模态大模型、繁星计划

下载

核心优势与实际应用

  1. 开箱即用,高度可定制的工具栏:awcodes/filament-tiptap-editor 提供了 defaultsimpleminimal 等多种预设工具栏配置(profile),你可以根据业务需求选择最合适的。如果这些还不够,你甚至可以通过 tools() 方法精确控制每一个按钮的显示与否,或者自定义工具组,让编辑器界面完全符合你的预期。

    <code class="php">use FilamentTiptapEditor\TiptapEditor;
    use FilamentTiptapEditor\Enums\TiptapOutput;
    
    TiptapEditor::make('content')
        ->profile('default') // 使用默认工具栏
        ->tools(['heading', 'bold', 'italic', 'link', 'media']) // 也可以自定义工具
        ->disk('public') // 配置图片上传的磁盘
        ->directory('editor-images') // 图片存储目录
        ->output(TiptapOutput::Html) // 将内容保存为 HTML 格式
        ->required();</code>
  2. 灵活的数据处理与渲染: 它支持将编辑器内容保存为 HTML、JSON 或纯文本格式。如果选择 JSON 格式,它会存储 Tiptap 的原生 ProseMirror 文档结构,这对于需要更精细控制内容的场景非常有用。在前端展示时,库提供了一个便捷的 tiptap_converter() 辅助函数,可以轻松地将 JSON 内容转换为 HTML 或纯文本,极大简化了数据渲染的复杂度。

    <code class="blade">{{-- 在 Blade 模板中渲染内容 --}}
    {!! tiptap_converter()->asHTML($post->content) !!}</code>
  3. 强大的多媒体管理: 内置的图片/文件上传功能让内容创作者可以轻松地插入图片。你可以配置上传磁盘、目录、允许的文件类型和最大文件大小,所有这些都通过 Filament 的配置系统完成,无需额外编写上传逻辑。

  4. 高级功能,如虎添翼:

    • 自定义区块 (Custom Blocks): 这是我个人认为最强大的功能之一。你可以定义自己的内容区块,例如一个特殊的引用样式、一个信息提示框,甚至是一个可交互的 Livewire 组件。通过简单的 PHP 类和 Blade 视图,你就能创建结构化且可复用的内容模块,极大地提升了内容编辑的效率和一致性。
    • 提及功能 (Mentions): 类似于社交媒体中的 @ 提及功能,可以轻松地在内容中引用用户、产品或其他实体,支持静态列表和动态搜索,非常适合团队协作或内部知识库。
    • 目录生成 (Table of Contents): 如果你的文章包含多个标题,它可以根据标题自动生成目录,方便读者快速导航。
    • 浮动/气泡菜单 (Floating/Bubble Menus): 提升用户体验,让常用工具触手可及。

总结与展望

awcodes/filament-tiptap-editor 不仅仅是一个简单的富文本编辑器集成,它是一个全面的解决方案,彻底解决了在 Filament 中实现高级内容编辑的痛点。

  • 显著提升开发效率: 告别繁琐的前端集成和后端数据处理,开发者可以专注于核心业务逻辑。
  • 提供卓越的用户体验: 现代化的 Tiptap 界面、丰富的编辑工具和流畅的交互,让内容创作者爱不释手。
  • 高度可定制和可扩展: 从工具栏到自定义区块,它提供了极大的灵活性,能够满足各种复杂的业务需求。

有了 awcodes/filament-tiptap-editor,为你的 Filament 后台添加一个专业级的富文本编辑器变得前所未有的简单。如果你正在使用 Filament 并为内容编辑功能而烦恼,那么这个 Composer 包绝对值得你尝试。它将让你的内容管理系统更加强大,让你的开发工作更加轻松。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

341

2024.04.09

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

296

2024.04.09

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

795

2024.04.09

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

387

2024.04.10

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

167

2025.08.05

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

86

2025.08.05

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

84

2025.08.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

856

2026.03.04

Go Web框架Gin接口开发与中间件设计实践
Go Web框架Gin接口开发与中间件设计实践

本专题围绕 Go 在 Web 后端开发中的主流框架 Gin 展开,系统讲解高性能接口开发与中间件机制设计。内容涵盖路由分组、请求绑定、参数校验、统一响应封装、日志与鉴权中间件实现,以及接口限流与异常处理策略。通过实战项目案例,帮助开发者构建结构清晰、性能优良的 Go Web 服务体系,提升接口开发效率与系统可维护性。

7

2026.03.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十四期_PHP8编程
第二十四期_PHP8编程

共86课时 | 3.5万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.6万人学习

第二十三期_PHP编程
第二十三期_PHP编程

共93课时 | 7.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号