glebstar/laravel5-simple-cms

Simple CMS for Laravel 5
57
Install
composer require glebstar/laravel5-simple-cms
Latest Version:1.0.2
PHP:>=5.6.0
License:MIT
Last Updated:Oct 23, 2017
Links: GitHub  ·  Packagist
Maintainer: glebstar

Simple CMS for Laravel 5.*

This is a Laravel 5 package - https://github.com/glebstar/laravel5-simple-cms

GitHub Author

Installation

{
    "require": {
        "glebstar/laravel5-simple-cms": "dev-master"
    }
}

or run composer require glebstar/laravel5-simple-cms

Then run composer update in your terminal to pull it in.

Once this has finished, you will need to add the service provider to the providers array in your app.php config as follows:

GlebStarSimpleCms\ServiceProvider::class,

To publish a the package configuration file, run:

php artisan vendor:publish --provider="GlebStarSimpleCms\ServiceProvider"

Added routes for cms pages with your autorization middleware:


Route::group(['prefix' => 'cms', 'middleware' => 'cms'], function(){
    Route::get('/', ['as' => 'cms', 'uses' =>'\GlebStarSimpleCms\Controllers\AdminController@index']);
    Route::match(['get', 'post'], '/add', '\GlebStarSimpleCms\Controllers\AdminController@add');
    Route::match(['get', 'post'], '/edit/{id}', '\GlebStarSimpleCms\Controllers\AdminController@edit');
    Route::delete('/delete/{id}', '\GlebStarSimpleCms\Controllers\AdminController@delete');
});

// this route should be the last.
Route::get('{path}', '\GlebStarSimpleCms\Controllers\CmsController@index')->where('path', '([A-z\d-\/_.]+)?');

Apply migration

php artisan migrate

Configuration

Edit the file config/simplecms.php

Create a layout for cms pages, for example

@extends('layouts.main')

@section('add_title'){{$page->title}}@endsection
@section('description'){{$page->description}}@endsection
@section('keywords'){{$page->keywords}}@endsection

@section('content')
    <div class="container">
        @can('editor')
        <div>
            <a class="btn btn-info" href="{{ route('cms') }}/edit/{{ $page->id }}">Edit</a>
        </div>
        @endcan
        @yield('cmspagebody')
    </div>
@endsection

Your layout should have @yield('cmspagebody')

If you need, to edit package layouts in resources/views/vendor/simplecms

Related Packages

spatie/laravel-google-fonts

Manage self-hosted Google Fonts in Laravel apps

1,364,355 493
tightenco/jigsaw

Simple static sites with Laravel's Blade.

468,529 2,253
roquie/laravel-dusk-select2

Select2.js support for the Laravel Dusk testing.

366,722 41
haruncpi/laravel-log-reader

A simple and beautiful laravel log reader

351,743 380
laravel-frontend-presets/argon

Laravel 9.x Front-end preset for argon

258,759 233