搜搜框瓦米尔/laravel-codemirror-uploader

Laravel扩展,可以将您的blade textarea组件转换为支持上传图片的Codemirror代码编辑器

dev-master 2022-06-15 15:09 UTC

This package is auto-updated.

Last update: 2024-09-15 20:21:55 UTC


README

这是一个laravel blade组件,它封装了Codemirror textarea组件 sashsvamir/laravel-codemirror,并提供了对模型上传文件的实现。此外,组件还包括一个附加到textarea codemirror的图片库。

安装

composer require sashsvamir/laravel-codemirror-uploader

设置

发布config/codemirror-uploader.php配置文件

./artisan vendor:publish --tag=codemirror-uploader-config

...并按照描述配置参数:注意:在配置中定义model_classname,也将会用于附加观察者到该模型的事件监听器(在模型删除时删除图片)

return [
      'my_post' => [                              // alias, please use simple one word string here (internally it's using to identify uploadable model on post requests, also on building url requests),
     
          'model_classname' => 'App\Models\Post', // model class name (e.g.: \App\Models\Model::class)
          'storage_path' => 'posts',              // path of storage relative at ./storage/app/public/
     
          'route_middlewares' => [                // optional: specify route middlewares if needed, be aware — the default is empty
              'web',
              'auth',
              'can:edit-post'
          ],
          'route_prefix' => '/admin',      // optional: add route prefix if needed
     
      ],
];

有了这个配置,将添加类似的路由(您不需要显式设置此路由)

Route::middleware(['web', 'auth', 'can:edit-users']) // middleware gets from config
     ->prefix('/admin')                              // prefix gets from config
     ->post('codemirror-uploader/my-post', UploadableController::class) // uri was generated
     ->name('codemirror-uploader-my-post');                             // name was generated

接下来,您可以将<x-slbc::textarea-codemirror-uploader>组件添加到实现编辑模型的上传图片功能。如果模型存在(已保存),则会添加图片库。

<x-slbc::textarea-codemirror>

    <textarea name="body">Your text here</textarea>
    
    <x-slbc::textarea-codemirror-uploader :model="$model" />
    
</x-slbc::textarea-codemirror>