jd-dotlogics/ laravel-grapesjs
一个将GrapesJS轻松集成到您的Laravel项目的包。
Requires
- php: ^7.4|^8.0
- illuminate/support: >=5.6.0
- 3.x-dev
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.x-dev
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.x-dev
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.0.x-dev
- 0.1.0
- dev-master
This package is auto-updated.
Last update: 2024-09-06 07:36:14 UTC
README
此包提供了一种将GrapesJS集成到您的Laravel项目的简单方法。
安装
composer require jd-dotlogics/laravel-grapesjs
发布文件和迁移
php artisan vendor:publish --tag="laravel-grapesjs"
php artisan migrate
入门指南
-
将'gjs_data'列添加到模型的数据库表(例如 Page)中,您将在此处使用编辑器。
-
实现Editable接口,并在模型类中使用EditableTrait特质。
use Illuminate\Database\Eloquent\Model; use Dotlogics\Grapesjs\App\Traits\EditableTrait; use Dotlogics\Grapesjs\App\Contracts\Editable; class Page extends Model implements Editable { use EditableTrait; ... }
- 创建一个用于编辑器的路由
Route::get('pages/{page}/editor', 'PageController@editor');
- 在您的控制器中,使用EditorTrait并添加编辑器方法
<?php namespace App\Http\Controllers; use App\Models\Page; use Illuminate\Http\Request; use Dotlogics\Grapesjs\App\Traits\EditorTrait; class PageController extends Controller { use EditorTrait; ... public function editor(Request $request, Page $page) { return $this->show_gjs_editor($request, $page); } ... }
- 打开此路由 /pages/:page_id/editor(其中 :page_id 是您模型的id)
占位符
占位符类似于WordPress中的短代码。占位符的语法是
[[This-Is-Placeholder]]
在"/resources/views/vendor/laravel-grapesjs/placeholders"目录中创建一个名为"this-is-placeholder.blade.php"的文件。
然后占位符将被相应的blade文件内容所替换
模板
您可以在"/resources/views/vendor/laravel-grapesjs/templates"目录中创建全局模板(或块)。模板/块将在编辑器的块部分中可用。您还可以通过在模型中定义getTemplatesPath/getGjsBlocksPath来创建特定于模型的模板/块。
public function getTemplatesPath(){ return 'pages_templates'; }
这将查找"laravel-grapesj::pages_templates"目录下的模板。
您也可以从这些方法中返回null,以隐藏任何模型的模板/块。
输出显示
"Editable"模型(例如Page)将有两个公共属性,css和html。在您的blade文件中,您可以使用这些属性来显示内容。
<style type="text/css"> {!! $page->css !!} </style> {!! $page->html !!}
感谢使用。