starsoft / laravel-editor
用于在 Laravel 中使用 Grapes.js 的包
1.1.8
2022-05-26 11:50 UTC
Requires
- php: ^7.3|^8.0
- illuminate/support: ~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0
- spatie/laravel-medialibrary: ^9.6
README
通过 composer 安装。
composer require starsoft/laravel-editor
要开始使用 LaraEditor,请按照以下步骤操作
-
将 'gjs_data' 列添加到您将要使用 Editor 的模型中。
-
实现 Editable 接口到模型类
-
将 Editable 特性添加到模型类中
-
在模型中实现所需方法,并创建 2 个用于加载和存储编辑器内容的路由
-
创建一个 EditorContentController 控制器,并添加以下方法
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index(Page $page)
{
return $page->getEditor();
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
* @return Response
*/
public function store(Request $request, Page $page)
{
return $page->saveEditorData($request);
}
public function templates(Page $page)
{
return array_merge(
$page->getTemplatesFromPath(config('cms.templatesPath')),
$page->getBlocksFromPath(config('cms.blocksPath')),
);
}
- 创建以下路由
Route::get('page-customize/{page}', [PageEditorController::class, 'index'])->name('page-customize.index');
Route::post('page-customize/{page}', [PageEditorController::class, 'store'])->name('page-customize.store');
Route::get('page-customize/{page}/templates', [PageEditorController::class, 'templates'])->name('page-customize.templates');
- 发布并运行迁移文件
php artisan vendor:publish --provider="LaraEditor\LaraEditorServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
php artisan migrate