mziraki / nova-tinymce
此包已被弃用,不再维护。没有建议的替代包。
此Nova包允许您使用TinyMCE编辑器来编辑文本区域。您可以自定义编辑器选项,并且...您可以上传图片到您的服务器,并将其直接放在文本中,而无需离开文本编辑器!
0.5.5
2019-05-27 14:00 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,您需要将此信息通过选项数组中的lfm_url
键传递给此nova字段。
// ... 'use_lfm' => true, 'lfm_url' => 'laravel-filemanager' // ...
额外配置和插件自定义
您可以将javascript SDK的任何配置选项传递给options()
方法中的数组。
例如,您想要增加文本区域的高度
NovaTinyMCE::make('body')->options([ 'height' => '980' ]),
您可以在文档中查看参数的完整列表: https://www.tiny.cloud/docs-3x/reference/Configuration3x/