软件系统 / roxyfileman-bundle
为您的 Symfony5 项目提供 Roxyfileman 集成,主要用于 FOSckeditor。
Requires
- php: >=7.3.0
- symfony/framework-bundle: ~3.0|~4.0|~5.0
Suggests
- friendsofsymfony/ckeditor-bundle: Allows to use Roxyfileman as a file selector for ckeditor
- twig/twig: Allows to use twig templates
This package is not auto-updated.
Last update: 2024-09-24 14:15:40 UTC
README
该组件为 Symfony5 提供了 Roxyfileman 集成。它与 FOSCKEditorBundle 配合良好。
文档
安装
在 composer.json 文件中添加组件
{
"require": {
"softwaresystem/roxyfileman-bundle": "~1.0"
}
}
注册组件
// app/AppKernel.php public function registerBundles() { return array( new Softwaresystem\RoxyFilemanBundle\SoftwaresystemRoxyFilemanBundle(), // ... ); }
更新 composer
$ composer update
将组件的路由导入到路由配置文件中,例如 routing.yml
SoftwaresystemRoxyFilemanBundle:
resource: "@SoftwaresystemRoxyFilemanBundle/Resources/config/routing.yml"
prefix: /softwaresystem-roxyfileman
前缀可以更改。您还可以将路径添加到防火墙以保护文件管理服务。
配置
RoxyFilemanBundle 提供简单的配置。
文件位置配置
如果您使用默认的 LocalFileSystem(推荐),这是 必需的配置
softwaresystem_roxy_fileman: local_file_system: base_path: /path/to/your/file base_url: /url/to/the/base/path
base_path 参数应该是绝对路径。 base_url 参数附加到文件名/相对文件路径以创建其 URL。 LocalFileSystem 用于访问本地文件系统中的某个目录。如果您想从远程服务器或数据库中的文件提供服务,您可以查看 自定义文件系统服务 部分。
Roxyfileman 配置
每个配置选项都在 Roxyfileman 配置页面 上提供。
softwaresystem_roxy_fileman: conf: dirlist_route: softwaresystem_roxyfileman_dir_list files_root: ...
参数必须小写。 请注意:在 Roxyfileman 配置页面 上可用的每个 URL 参数都应在此用作路由,并且参数必须后缀为 _route。例如:参数 DIRLIST 变为 dirlist_route。
多个配置文件
上述展示了该组件在单配置文件模式下的工作方式。偶尔,您可能需要不同的文件管理实例来管理不同的目录——想象一下一个带有“相册”和“博客”模块的 CMS,您不希望“相册”管理员触摸“博客”模块中的文件。通过让组件在多配置文件模式下运行,这是可能的
softwaresystem_roxy_fileman: profiles: # Triggers multi-profile mode album: # Name of the profile local_file_system: base_path: /path/to/album/directory base_url: /web/album/directory conf: integration: tinymce4 blog: local_file_system: base_path: /path/to/blog/directory base_url: /web/blog/directory conf: integration: tinymce4
现在我们已经定义了两个配置文件,每个配置文件都有自己的基本路径、URL 设置和配置选项。
当访问某些 URL 时,组件需要知道它应该在哪个配置文件上工作。一种方法是在路由配置中添加 profile 占位符
SoftwaresystemRoxyFilemanBundle: resource: "@SoftwaresystemRoxyFilemanBundle/Resources/config/routing.yml" prefix: /Softwaresystem-roxyfileman/{profile} requirements: profile: blog|album
注意: 当 profiles 不为空时,组件将在多配置文件模式下运行。根配置中定义的 conf、local_file_system 和 file_system_service_id 值将被忽略。
与富文本编辑器(CKEditor)集成
原始索引路径 /fileman/index.html 由本组件中的路由 softwaresystem_roxyfileman_index 提供,这是您需要与 CKEditor 等富文本编辑器集成的路径。例如
<script>
$(function(){
CKEDITOR.replace( 'editor1', {
// Single profile mode
filebrowserBrowseUrl: '{{ path('softwaresystem_roxyfileman_index') }}',
// To specify the profile name in multi-profile mode:
// filebrowserBrowseUrl: '{{ path('softwaresystem_roxyfileman_index', { 'profile': 'blog' }) }}',
filebrowserImageBrowseUrl: '{{ path('softwaresystem_roxyfileman_index') }}?type=image',
removeDialogTabs: 'link:upload;image:upload'
});
});
</script>
使用此组件与 FOSCKEditorBundle 非常简单,只需对 fos_ck_editor 配置进行少量修改即可。
fos_ck_editor:
default_config: file_browse
configs:
file_browse:
filebrowserBrowseRoute: softwaresystem_roxyfileman_index
高级定制
自定义文件系统服务
《filesystem》服务代表Roxyfileman的文件系统。它能够提供文件、文件和目录树,对目录和文件进行操作,... 您可以通过实现Softwaresystem\RoxyFilemanBundle\FileSystem\FileSystemInterface来创建自定义文件系统服务,并将其作为服务提供给softwaresystem_roxy_fileman参数。
softwaresystem_roxy_fileman: file_system_service_id: id_of_the_file_service
自定义 Roxyfileman 版本
此包附带了一个Roxyfileman库版本。如果您想使用自定义版本,可以将包含index.html文件的目录路径指定给roxyfileman_lib_path参数。
softwaresystem_roxy_fileman: roxyfileman_lib_path: /path/to/the/library
库文件由Softwaresystem\RoxyFilemanBundle\Controller\ResourcesController.php控制器提供。它不需要公开访问。
许可协议
Softwaresystem RoxyFileman Bundle遵循MIT许可协议。有关完整的版权和许可信息,请阅读与源代码一起分发的LICENSE文件。
此包中包含Roxyfileman库的部分副本。Roxyfileman库遵循GPLv3许可协议。随源代码一起分发了一份GPLv3许可协议的副本。
原作者:https://github.com/Elendev/ElendevRoxyFilemanBundle
此仅为Symfony4的修改版