energon7/nova-tinymce

此 Nova 包允许您在文本区域使用 TinyMCE 编辑器。您可以自定义编辑器选项,并且... 您可以上传图片到您的服务器,并将它们直接放置在文本中,而无需离开文本编辑器!

安装: 28

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 38

语言:Vue

v0.5.5 2019-07-08 11:07 UTC

This package is auto-updated.

Last update: 2024-09-08 22:31:56 UTC


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/