piotrkochan / froala-editor-bundle
为 Symfony 5 & 6 提供 Froala 编辑器集成。
Requires
- php: ^7.4
- ext-zip: *
- symfony/asset: ^5.4 || ^6.0
- symfony/console: ^5.4 || ^6.0
- symfony/form: ^5.4 || ^6.0
- symfony/framework-bundle: ^5.4 || ^6.0
- symfony/http-client: ^5.4 || ^6.0
- symfony/string: ^5.4 || ^6.0
- symfony/twig-bundle: ^5.4 || ^6.0
- twig/twig: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3.2
- phpstan/phpstan: ^1.6.8
- phpstan/phpstan-deprecation-rules: ^1.0.0
- phpunit/phpunit: ^9.5.10
- symfony/css-selector: ^5.4 || ^6.0
- symfony/dom-crawler: ^5.4 || ^6.0
- symfony/yaml: ^5.4 || ^6.0
This package is auto-updated.
Last update: 2024-09-04 19:48:43 UTC
README
简介
This is a fork of "leapt/froala-editor-bundle", works with php 7.4+
此包旨在轻松集成并使用 Froala 编辑器在 Symfony 5.4+/6.0+。
此包是 KMSFroalaEditorBundle 的维护分支。
变更日志在此处可用
目录
从 KMS 迁移到 Kochan Froala 编辑器包
现在它只支持 Symfony 5.4+ & 6.0+,以及 PHP >= 8.0。在 v1.0.0 中支持 Symfony 5.3,但在 v1.1.0 中已停止支持。
将所有 "kms" 替换为 "Kochan",匹配大小写:KMS 变为 Kochan,kms 变为 Kochan。
安装
步骤 1: 使用 composer 安装包
composer require Kochan/froala-editor-bundle
注意:如果您使用 Symfony Flex 安装包并接受配方,则可以跳过步骤 2 到 4。
步骤 2: 将包添加到您的 bundles.php
// config/bundles.php return [ //.. Kochan\FroalaEditorBundle\KochanFroalaEditorBundle::class => ['all' => true], ];
步骤 3: 导入路由
# config/routes.yaml kochan_froala_editor: resource: '@KochanFroalaEditorBundle/Resources/config/routing.php' prefix: /froalaeditor
步骤 4: 加载 Twig 表单小部件
# In config/packages/twig.yaml twig: form_themes: - '@KochanFroalaEditor/Form/froala_widget.html.twig'
步骤 5: 配置包
必需
首先,您必须选择您的语言,其他设置都是可选的(见下文)。
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: language: 'nl'
其他选项
所有 Froala 选项(此处提供列表)都受支持。只需添加选项名称(如果它在您的表单类型中,则前缀为 froala_),并附带您的值。如果您想保持 Froala 的默认值,则不要在配置文件中提供任何内容。对于需要数组的选项,提供值数组。对于需要对象的选项,提供键/值数组。
请注意,一些选项需要一些插件(所有信息均提供在 Froala 文档 中)。
以下为每种选项类型的示例
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: toolbarInline: true tableColors: [ '#FFFFFF', '#FF0000' ] saveParams: { "id" : "myEditorField" }
为了更好地与 Symfony 集成,添加了一些自定义选项,请参见下面的完整列表
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: # Froala licence number if you want to use a purchased licence. serialNumber: 'XXXX-XXXX-XXXX' # Disable CodeMirror inclusion. includeCodeMirror: false # Disable Font Awesome inclusion. includeFontAwesome: false # Disable all bundle JavaScript inclusion (not concerning CodeMirror). # Usage: if you are using Grunt or Webpack or other, and you want to include yourself all scripts. includeJS: false # Disable all bundle CSS inclusion (not concerning Font Awesome nor CodeMirror). # Usage: if you are using Grunt or Webpack or other, and you want to include yourself all stylesheets. includeCSS: false # Change the froala base path. # Useful eg. when you load it from your own public directory. # Defaults to "/bundles/kochanfroalaeditor/froala_editor" basePath: '/my/custom/path' # Custom JS file. # Usage: add custom plugins/buttons... customJS: '/custom/js/path'
步骤 6: 将 Froala 添加到您的表单
只需在您的表单中添加一个 Froala 类型
use Kochan\FroalaEditorBundle\Form\Type\FroalaEditorType; $builder->add('field', FroalaEditorType::class);
所有配置项都可以覆盖
$builder->add('field', FroalaEditorType::class, [ 'froala_language' => 'fr', 'froala_toolbarInline' => true, 'froala_tableColors' => ['#FFFFFF', '#FF0000'], 'froala_saveParams' => ['id' => 'myEditorField'], ]);
步骤 7: 安装资产文件
要安装资产文件,有一个 froala:install 命令,它下载 Froala 编辑器的最新版本,并将其默认放置在 vendor/Kochan/froala-editor-bundle/src/Resources/public/froala_editor/ 目录中
bin/console froala:install
有几个参数/选项可用
- 第一个(也是唯一)参数(可选):文件下载后放置的绝对路径。默认为
vendor/Kochan/froala-editor-bundle/src/Resources/public/froala_editor/。 - 选项
tag:要安装的 Froala 版本(例如,v4.0.1)。默认为master。 - 选项
clear(不需要值,默认禁用):允许命令在路径已存在时清除以前的安装。
在您运行安装命令后,您必须链接资产,例如。
bin/console assets:install --symlink public
步骤 8: 显示编辑器内容
手动
为了保留编辑器外编辑的 HTML 的外观,您必须包含以下 CSS 文件
<!-- CSS rules for styling the element inside the editor such as p, h1, h2, etc. --> <link href="../css/froala_style.min.css" rel="stylesheet" type="text/css" />
此外,您应确保将编辑内容放在一个具有类 fr-view 的元素内
<div class="fr-view"> {{ myContentHtml|raw }} </div>
使用 Twig 扩展
要使用Twig扩展,只需调用display函数(请注意,如果参数includeCSS为false,则不包含前端CSS文件)
{{ froala_display(myContentHtml) }}
步骤 9: 配置文件(自定义配置)
您可以在您的表单中定义几个配置配置文件,这些配置文件将被重复使用,而不需要重复这些配置。
使用配置文件时,将使用根配置选项并进行覆盖
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: heightMax: 400 attribution: false profiles: profile_1: heightMax: 500
use Kochan\FroalaEditorBundle\Form\Type\FroalaEditorType; $builder->add('field', FroalaEditorType::class, [ 'froala_profile' => 'profile_1', ]);
在此示例中,profile_1配置文件将设置以下配置选项
heightMax: 500attribution:false
更多配置
插件
所有Froala插件都已启用,但如果您不需要其中一个,可以禁用一些插件...
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: # Disable some plugins. pluginsDisabled: [ 'save', 'fullscreen' ]
...或者只选择要启用的插件
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: # Enable only some plugins. pluginsEnabled: [ 'image', 'file' ]
可以通过在表单构建器中传递相同的数组来为每个Froala实例启用/禁用插件。
概念:图片上传/管理器
此包提供将Froala图像上传概念集成到您自己的Web服务器上以存储图像(有关上传文件夹等自定义选项的配置,请参阅自定义选项)。
如果您想使用自己的上传器,可以覆盖配置(如果您需要这样做,请解释为什么以改进提供的上传器)。
为了更好地与 Symfony 集成,添加了一些自定义选项,请参见下面的完整列表
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: # The image upload folder in your /web directory. # Default: "/upload". imageUploadFolder: '/my/upload/folder' # The image upload URL base. # Usage: if you are using URL rewriting for your assets. # Default: same value as provided as folder. imageUploadPath: '/my/upload/path'
概念:文件上传
此包提供将Froala文件上传概念集成到您自己的Web服务器上以存储文件(请参阅自定义选项以配置上传文件夹等)。
如果您想使用自己的上传器,可以覆盖配置(如果您需要这样做,请解释为什么以改进提供的上传器)。
为了更好地与 Symfony 集成,添加了一些自定义选项,请参见下面的完整列表
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: # The file upload folder in your /web directory. # Default: "/upload". fileUploadFolder: '/my/upload/folder' # The file upload URL base. # Usage: if you are using URL rewritting for your assets. # Default: same value as provided as folder. fileUploadPath: '/my/upload/path' # Your public directory, from the root directory. # Default: "/public" publicDir: '/home'
概念:自动保存
Froala自动保存概念自动请求您的服务器上的保存操作正在工作,只需在配置文件中输入正确的选项即可
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: saveURL: 'my_save_route' saveInterval: 2500 saveParam: "content"
为了更好地与 Symfony 集成,添加了一些自定义选项,请参见下面的完整列表
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: # Add some parameters to your save URL. # Usage: if you need parameters to generate your save action route (see save explaination below). # Default: null. saveURLParams: { "id" : "myId" }
您可以在保存路由中添加一些参数(请参阅自定义选项)。
Webpack Encore 配置
如果您想使用npm/yarn和Webpack Encore加载Froala资产文件,以下是操作方法
import FroalaEditor from 'froala-editor'; import 'froala-editor/css/froala_editor.pkgd.min.css'; import 'froala-editor/css/froala_style.min.css'; // Load your languages import 'froala-editor/js/languages/fr.js'; // Load all plugins, or specific ones import 'froala-editor/js/plugins.pkgd.min.js'; import 'froala-editor/css/plugins.pkgd.min.css'; window.FroalaEditor = FroalaEditor; function froalaDisplayError(p_editor, error ) { alert(`Error ${error.code}: ${error.message}`); } window.froalaDisplayError = froalaDisplayError;
现在您可以禁用Froala包的CSS/JS包含
# config/packages/kochan_froala_editor.yaml kochan_froala_editor: includeJS: false includeCSS: false
如果需要,不要忘记在HTML中导入生成的Encore CSS/JS文件。
待办事项
- 添加一些测试
许可协议
此包提供WYSIWYG Froala编辑器商业版本的集成。如果您没有许可证,请阅读Froala许可协议并访问定价页面。
贡献
请随时贡献,例如发送拉取请求以添加功能/测试。
注意,有一些助手用于维护代码质量,您可以使用以下命令运行它们
composer cs:dry # Code style check composer phpstan # Static analysis vendor/bin/phpunit # Run tests