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 扫描路径),即可让编辑器完美融入你的后台界面。

音记AI
音记AI

音视频秒转文字,声波流式转录,让每个声音都成篇章

下载

核心优势与实际应用

  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 包绝对值得你尝试。它将让你的内容管理系统更加强大,让你的开发工作更加轻松。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2490

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1594

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1486

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1414

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1305

2023.11.13

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

6

2026.01.14

热门下载

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

精品课程

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

共86课时 | 3.4万人学习

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

共28课时 | 2.4万人学习

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

共93课时 | 6.8万人学习

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

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