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 富文本编辑器集成方案,它将上述所有痛点都封装成了简单易用的组件。

安装与集成:一步到位

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

composer require awcodes/filament-tiptap-editor:"^3.0"

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

ONLYOFFICE
ONLYOFFICE

用ONLYOFFICE管理你的网络私人办公室

下载

核心优势与实际应用

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

    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();
  2. 灵活的数据处理与渲染: 它支持将编辑器内容保存为 HTML、JSON 或纯文本格式。如果选择 JSON 格式,它会存储 Tiptap 的原生 ProseMirror 文档结构,这对于需要更精细控制内容的场景非常有用。在前端展示时,库提供了一个便捷的 tiptap_converter() 辅助函数,可以轻松地将 JSON 内容转换为 HTML 或纯文本,极大简化了数据渲染的复杂度。

    {{-- 在 Blade 模板中渲染内容 --}}
    {!! tiptap_converter()->asHTML($post->content) !!}
  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

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

豆包大模型
豆包大模型

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

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

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

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

320

2024.04.09

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

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

278

2024.04.09

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

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

373

2024.04.09

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

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

374

2024.04.10

laravel入门教程
laravel入门教程

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

85

2025.08.05

laravel实战教程
laravel实战教程

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

65

2025.08.05

laravel面试题
laravel面试题

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

68

2025.08.05

composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

154

2023.12.25

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

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

精品课程

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

共86课时 | 3.4万人学习

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

共28课时 | 2.5万人学习

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

共93课时 | 6.9万人学习

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

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