2017 © Pedro Peláez
 

library laravel-backpack-visualcomposer

This packages provides an interface to manage page content easily

image

novius/laravel-backpack-visualcomposer

This packages provides an interface to manage page content easily

  • Wednesday, July 4, 2018
  • by novius
  • Repository
  • 5 Watchers
  • 0 Stars
  • 81 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 212 % Grown

The README.md

Visual Composer for Backpack

Travis Packagist Release Licence, (*1)

Improve the way you edit pages., (*2)

Installation

composer require novius/laravel-backpack-visualcomposer

Then add this to config/app.php:, (*3)

Novius\Backpack\VisualComposer\VisualComposerServiceProvider::class,

Finally, run:, (*4)

php artisan migrate

Use

In the model:, (*5)

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

In the crud controller:, (*6)

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

    $this->crud->addField([
        'name' => 'visualcomposer_main',
        'label' => 'Visual Composer',
        'type' => 'view',
        'view'   => 'visualcomposer::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:, (*7)

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

Create new row templates

Make a class and a folder for the views:, (*8)

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:, (*9)

<?php

namespace Novius\Backpack\VisualComposer\Templates;

class MyNewRowTemplate extends RowTemplateAbstract
{
    static public $name = 'my-new-row-template';
}

In crud.blade.php:, (*10)



@push('crud_fields_scripts') @endpush

In resources/lang/vendor/visualcomposer/en/templates.php, add:, (*11)

<?php
...
    'my-new-row-template' => [
        'name' => 'My new row template',
        'crud' => [
            'some_field' => 'Some field for you to write something in',
        ],
    ],

Edit default config and templates

Run:, (*12)

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

...it will output the list of copied files than can now be overwritten, including the config, the backpack field type, the language files and 11 built-in templates:, (*13)

  • Article, an wysiwyg and inputs for the title, subtitle, date, author, CTA button and user-customizable colors
  • BackgroundImageAndText, an uploadable picture with a caption and wysiwyg description
  • ImageInBase64, a picture stored as base64 instead of file upload
  • ImageInContainer, an uploadable picture, and that’s it
  • LeftImageRightText, a picture and some text fields on two columns
  • LeftTextRightImage, some text fields and a picture on two columns
  • LeftTextRightQuote, some text fields and customizable background color, on two columns
  • Minimal, an empty template with the minimum code for it to work
  • Slideshow, a slider of unlimited pictures and their captions
  • ThreecolumnsImageTextCta, three columns with a picture, a title, a wysiwyg and a CTA button on each of them
  • TwoColumnsImageTextCta, the same as above, but on two columns instead of three

Check out how they are made, so you can customize them and build your own., (*14)

The Versions

04/07 2018

0.1.x-dev

0.1.9999999.9999999-dev

This packages provides an interface to manage page content easily

  Sources   Download

AGPL-3.0

The Requires

 

laravel crud backpack novius

04/07 2018

0.1.0

0.1.0.0

This packages provides an interface to manage page content easily

  Sources   Download

AGPL-3.0

The Requires

 

laravel crud backpack novius

17/05 2018

1.0.x-dev

1.0.9999999.9999999-dev

This packages provides an interface to manage page content easily

  Sources   Download

AGPL-3.0

The Requires

 

laravel crud backpack novius

17/05 2018

1.0.6

1.0.6.0

This packages provides an interface to manage page content easily

  Sources   Download

AGPL-3.0

The Requires

 

laravel crud backpack novius