软件系统/roxyfileman-bundle

为您的 Symfony5 项目提供 Roxyfileman 集成,主要用于 FOSckeditor。

安装: 100

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

语言:JavaScript

类型:symfony-bundle

dev-master 2020-12-21 20:12 UTC

This package is not auto-updated.

Last update: 2024-09-24 14:15:40 UTC


README

该组件为 Symfony5 提供了 Roxyfileman 集成。它与 FOSCKEditorBundle 配合良好。

文档

  1. 安装
  2. 配置
  3. 文件位置配置
  4. Roxyfileman 配置
  5. 多个配置文件
  6. 高级定制
  7. 自定义文件系统服务
  8. 自定义 Roxyfileman 版本
  9. LICENSE

安装

在 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 不为空时,组件将在多配置文件模式下运行。根配置中定义的 conflocal_file_systemfile_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的修改版