Ce package fournit un moyen Esay d'intégrer les GRAPESJ dans votre Laravel Proejct.
composer require jd-dotlogics/laravel-grapesjs
php artisan vendor:publish --tag="laravel-grapesjs"
php artisan migrate
Ajoutez une colonne 'GJS_DATA' à la table de base de données du modèle (Page par exemple), pour laquelle vous allez utiliser l'éditeur.
Implémentez l'interface modifiable et utilisez le trait EditableTrait pour la classe de modèle
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 );
}
. . .
}
Les espaces réservés sont comme un code court dans WordPress. Le syndicat de l'espace réservé est
[[This-Is-Placeholder]]
Créez un fichier nommé "this-is-emplaceholder.blade.php" dans "/ Resources / Views / Vendor / Laravel-grapesjs / liquerie".
Le placement sera remplacé par le contenu du fichier de lame relative "this-is-placeholder.blade.php"
Vous pouvez créer des modèles (ou des blocs) globaux dans le répertoire "/ Resources / Views / Vendor / Laravel-grapesjs / modèles". Et les modèles / blocs seront disponibles dans la section bloc de l'éditeur. Vous pouvez également créer des modèles / blocs spécifiques au modèle en définissant GetTemplatesPath / GetGJSBlockSpath dans le modèle
public function getTemplatesPath (){ return ' pages_templates ' ; }Cela recherchera des modèles sous "Laravel-grapesj :: Pages_Templates" répertoire.
Vous pouvez également retourner NULL de ces méthodes pour masquer les modèles / blocs pour n'importe quel modèle.
Le modèle "modifiable" (par exemple la page) aura deux propriétés publiques, CSS et HTML. Dans votre fichier de lame, vous pouvez utiliser ces propriétés pour afficher le contenu.
< style type = " text/css " >
{!! $page -> css ! !}
</ style >
{!! $page -> html ! !}
Merci de l'utiliser.