PHPackages                             sidis405/laravel-backpack-visualcomposer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. sidis405/laravel-backpack-visualcomposer

ActiveLibrary[Admin Panels](/categories/admin)

sidis405/laravel-backpack-visualcomposer
========================================

This packages provides an interface to manage page content easily

1.0.6(7y ago)03AGPL-3.0PHPPHP &gt;=7.1

Since May 17Pushed 5y ago1 watchersCompare

[ Source](https://github.com/sidis405/laravel-backpack-visualcomposer)[ Packagist](https://packagist.org/packages/sidis405/laravel-backpack-visualcomposer)[ RSS](/packages/sidis405-laravel-backpack-visualcomposer/feed)WikiDiscussions 1.0 Synced 2d ago

READMEChangelogDependencies (1)Versions (7)Used By (0)

Visual Composer for Backpack
============================

[](#visual-composer-for-backpack)

[![Travis](https://camo.githubusercontent.com/5896e1ef275c1668a41c8a2f2f591ee6747455f633b492efda386b99d12d8c82/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6e6f766975732f6c61726176656c2d6261636b7061636b2d76697375616c636f6d706f7365722e7376673f6d61784167653d31383030267374796c653d666c61742d737175617265)](https://travis-ci.org/novius/laravel-backpack-visualcomposer)[![Packagist Release](https://camo.githubusercontent.com/81743beceeec2cdc30f90fa33c06a389f853247828da80581ae2ada47a17c392/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f766975732f6c61726176656c2d6261636b7061636b2d76697375616c636f6d706f7365722e7376673f6d61784167653d31383030267374796c653d666c61742d737175617265)](https://packagist.org/packages/novius/laravel-backpack-visualcomposer)[![Licence](https://camo.githubusercontent.com/ce355fd7290244df754d5a6bddafd3dbb9ffb43f3e3100ad4f7a9aba66d7b2cc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e6f766975732f6c61726176656c2d6261636b7061636b2d76697375616c636f6d706f7365722e7376673f6d61784167653d31383030267374796c653d666c61742d737175617265)](https://github.com/novius/laravel-backpack-visualcomposer#licence)

Improve the way you edit pages.

Installation
------------

[](#installation)

```
composer require novius/laravel-backpack-visualcomposer
```

Then add this to `config/app.php`:

```
Novius\Backpack\VisualComposer\VisualComposerServiceProvider::class,
```

Finally, run:

```
php artisan vendor:publish --provider="Novius\Backpack\VisualComposer\VisualComposerServiceProvider"
php artisan migrate
```

Use
---

[](#use)

In the model:

```
use Novius\Backpack\VisualComposer\Traits\VisualComposer;
```

In the crud controller:

```
public function setup($template_name = false)
{
    parent::setup($template_name);

    $this->crud->addField([
        'name' => 'visualcomposer_main',
        'label' => 'Visual Composer',
        'type' => 'visualcomposer',
        // (optionnal) Only those template will be available
        'templates' => [
            MyNewRowTemplate::class,
        ],
        // (Optionnal) Pre-fill the visualcomposer with rows on new models
        'default' => [
            ['template' => MyNewRowTemplate::class],
        ],
        'wrapperAttributes' => [
            'class' => 'form-group col-md-12',
        ],
    ]);
}

public function store(PageRequest $request)
{
    $r = parent::store($request);
    $this->crud->entry->visualcomposer_main = $request->visualcomposer_main;
    return $r;
}

public function update(PageRequest $request)
{
    $r = parent::update($request);
    $this->crud->entry->visualcomposer_main = $request->visualcomposer_main;
    return $r;
}
```

In the model view:

```
@foreach($page->visualcomposer_main as $row)
    {!! $row->template::renderFront($row) !!}
@endforeach
```

Create new row templates
------------------------

[](#create-new-row-templates)

Make a class and a folder for the views:

```
cd vendor/novius/laravel-backpack-visualcomposer
class=MyNewRowTemplate
touch src/app/Templates/$class.php
mkdir src/resources/views/vendor/visualcomposer/$class
touch src/resources/views/vendor/visualcomposer/$class/crud.blade.php
touch src/resources/views/vendor/visualcomposer/$class/front.blade.php
```

In `MyNewRowTemplate.php`:

```
