energon7 / nova-tinymce
此 Nova 包允许您在文本区域使用 TinyMCE 编辑器。您可以自定义编辑器选项,并且... 您可以上传图片到您的服务器,并将它们直接放置在文本中,而无需离开文本编辑器!
v0.5.5
2019-07-08 11:07 UTC
Requires
- php: >=7.1.0
README
此 Nova 包允许您使用 TinyMCE 编辑器 对文本区域进行编辑。您可以自定义编辑器选项,并且... 您可以 上传图片到您的服务器,并将它们直接放置在文本中,而无需离开文本编辑器!!
安装
composer require emilianotisato/nova-tinymce
为了使用此编辑器,您需要 创建一个免费账户 以获取编辑器 API_KEY。一旦完成,在您的 config/nova.php
文件中创建此密钥
'tinymce_api_key' => env('TINYMCE_API_KEY'),
并将 TINYMCE_API_KEY
添加到您的 .env 文件中,使用来自 tiny.cloud 网站的密钥。
使用方法
在您的 Nova 资源中添加 use 声明并使用 NovaTinyMCE 字段
use Emilianotisato\NovaTinyMCE\NovaTinyMCE; // ... /** * Get the fields displayed by the resource. * * @param \Illuminate\Http\Request $request * @return array */ public function fields(Request $request) { return [ ID::make()->sortable(), NovaTinyMCE::make('body'), ]; }
默认情况下,编辑器带有默认选项和没有文件管理器的图片。您可以使用自定义选项,例如
NovaTinyMCE::make('body')->options([ 'plugins' => [ 'advlist autolink lists link image charmap print preview hr anchor pagebreak' ], 'toolbar' => 'insertfile undo redo | styleselect | bold italic' ]),
使用上传图片功能
现在,如果您需要从文本编辑器上传图片,我们需要安装 UniSharp Laravel Filemanager,并将 use_lfm
键传递到您的选项数组中
NovaTinyMCE::make('body')->options([ 'plugins' => [ 'advlist autolink lists link image charmap print preview hr anchor pagebreak', 'searchreplace wordcount visualblocks visualchars code fullscreen', 'insertdatetime media nonbreaking save table contextmenu directionality', 'emoticons template paste textcolor colorpicker textpattern' ], 'toolbar' => 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media', 'use_lfm' => true ]),
如果您的包配置文件中更改了 laravel-filemanager
URL,您需要将此信息传递给此 nova 字段,并在选项数组中使用 lfm_url
键。
// ... 'use_lfm' => true, 'lfm_url' => 'laravel-filemanager' // ...
额外配置和插件自定义
您可以将任何配置选项传递给 JavaScript SDK 的数组中的 options()
方法。
例如,您想增加文本区域的高度
NovaTinyMCE::make('body')->options([ 'height' => '980' ]),
您可以在文档中查看参数的完整列表:https://www.tiny.cloud/docs-3x/reference/Configuration3x/