이 패키지는 GrapesJ를 Laravel ProEJCT에 통합하는 Esay 방법을 제공합니다.
composer require jd-dotlogics/laravel-grapesjs
php artisan vendor:publish --tag="laravel-grapesjs"
php artisan migrate
모델의 데이터베이스 테이블 (예 : 페이지)에 'gjs_data'열을 추가하여 편집기를 사용할 것입니다.
편집 가능한 인터페이스를 구현하고 모델 클래스에 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 ' ); <?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 );
}
. . .
}
자리 표시자는 WordPress의 바로 코드와 같습니다. 자리 표시 자의 SYNAX는입니다
[[This-Is-Placeholder]]
"the-is-placeholder.blade.php"라는 파일을 만듭니다.
자리 표시자는 상대 블레이드 파일의 내용으로 대체됩니다.
"/resource/views/vendor/laravel-grapesjs/템플릿"디렉토리에서 글로벌 템플릿 (또는 블록)을 만들 수 있습니다. 그리고 템플릿/블록은 편집기의 블록 섹션에서 이용할 수 있습니다. 모델에서 GetTemplatesPath/GetGjsBlockSpath를 정의하여 모델 특정 템플릿/블록을 만들 수도 있습니다.
public function getTemplatesPath (){ return ' pages_templates ' ; }이것은 "laravel-grapesj :: pages_templates"디렉토리의 템플릿을 찾습니다.
이 메소드에서 NULL을 반환하여 모든 모델의 템플릿/블록을 숨길 수도 있습니다.
"편집 가능한"모델 (예 : 페이지)에는 CSS와 HTML의 두 가지 공개 속성이 있습니다. 블레이드 파일 에서이 속성을 사용하여 컨텐츠를 표시 할 수 있습니다.
< style type = " text/css " >
{!! $page -> css ! !}
</ style >
{!! $page -> html ! !}
사용해 주셔서 감사합니다.