FMElfinderBundle 使用教程
1、项目介绍
FMElfinderBundle 是一个 Symfony 包,提供了 ElFinder 文件管理器的集成。ElFinder 是一个开源的基于 JavaScript 的网页文件管理器,使用 jQuery UI 编写,其设计灵感来源于 Mac OS X 操作系统中的 Finder 程序。FMElfinderBundle 支持与 TinyMCE、CKEditor 和 Summernote 等编辑器的集成。
2、项目快速启动
安装
首先,通过 Composer 安装 FMElfinderBundle:
composer require helios-ag/fm-elfinder-bundle
启用 Bundle
在 config/bundles.php
文件中添加以下行:
return [
// 其他 bundles
HeliosAg\Bundle\FmElfinderBundle\FmElfinderBundle::class => ['all' => true],
];
导入路由文件
在 config/routes.yaml
文件中添加以下配置:
fm_elfinder:
resource: "@FmElfinderBundle/Resources/config/routing.yaml"
基本配置
在 config/packages/fm_elfinder.yaml
文件中添加基本配置:
fm_elfinder:
instances:
default:
locale: %locale%
editor: ckeditor
path_prefix: /uploads
connector:
roots:
uploads:
driver: LocalFileSystem
path: uploads
upload_allow: ['image/png', 'image/jpg', 'image/jpeg']
upload_deny: ['all']
upload_max_size: 2M
3、应用案例和最佳实践
集成 CKEditor
在 Symfony 项目中集成 CKEditor 和 ElFinder:
-
安装 CKEditor 包:
composer require friendsofsymfony/ckeditor-bundle
-
配置 CKEditor:
fos_ck_editor: default_config: default configs: default: filebrowserBrowseRoute: elfinder filebrowserBrowseRouteParameters: []
-
在表单中使用 CKEditor:
use FOS\CKEditorBundle\Form\Type\CKEditorType; $builder->add('content', CKEditorType::class, [ 'config' => [ 'filebrowserBrowseRoute' => 'elfinder', ], ]);
4、典型生态项目
FMTinyMCEBundle
FMTinyMCEBundle 是一个 Symfony 包,提供了 TinyMCE 编辑器的集成。它可以与 FMElfinderBundle 一起使用,提供一个完整的富文本编辑解决方案。
FOSCKEditorBundle
FOSCKEditorBundle 是一个 Symfony 包,提供了 CKEditor 编辑器的集成。它也可以与 FMElfinderBundle 一起使用,提供一个强大的富文本编辑器。
通过这些集成,开发者可以在 Symfony 项目中轻松实现文件管理和富文本编辑功能。