Just include below snippet to your code:
<page-builderref="builder"v-model="data.model.builder_content":components='@json($_model['_data_components'])'></page-builder>​
Name | Description |
ref | to control visibility, e.g this.$refs.show() |
v-model | sync data content |
components [array] | components available to be use in page builder |
@builderRender($content)
Create new class inside core/components directory, class must extend App\Core\Component
<?php​namespace App\Core\Components;​use App\BlogCategory;use App\Core\Component;​class Blogs extends Component{// Data available for schema/formpublic function getSchemaData(){return ['categories' => BlogCategory::all(),];}​// Model that will be save in db and used to populate schema/formpublic function getSchemaModel(){return ['title' => 'Blog posts','subtitle' => 'ets'];}}
Schema is where your json vfg live, make sure use .blade.php extension for your schema so that we can pass getSchemaData(),
{"groups": [{"fields": [{"type": "input","inputType": "text","label": "Title","model": "title"},{"type": "input","inputType": "text","label": "Subtitle","model": "subtitle"}]}]}
Just a regular blade file that final user will see
<h1>{{ $title }}</h1><h2>{{ $subtitle }} </h2>
You can override default markup inside your theme
resources/views/themes/{your theme}/components/{component name}
must be placed inside components
directory
​
​