glebstar / laravel5-simple-cms by glebstar

Simple CMS for Laravel 5
57
1
3
Package Data
Maintainer Username: glebstar
Maintainer Contact: glebstarkov@gmail.com (Gleb Starkov)
Package Create Date: 2016-08-17
Package Last Update: 2017-10-23
Language: HTML
License: MIT
Last Refreshed: 2025-02-10 15:03:46
Package Statistics
Total Downloads: 57
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 3
Total Forks: 0
Total Open Issues: 2

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