Simple CMS for Laravel 5.*
This is a Laravel 5 package - https://github.com/glebstar/laravel5-simple-cms, (*1)
, (*2)
Installation
{
"require": {
"glebstar/laravel5-simple-cms": "dev-master"
}
}
or run composer require glebstar/laravel5-simple-cms, (*3)
Then run composer update in your terminal to pull it in., (*4)
Once this has finished, you will need to add the service provider to the providers array in your app.php config as follows:, (*5)
GlebStarSimpleCms\ServiceProvider::class,
To publish a the package configuration file, run:, (*6)
php artisan vendor:publish --provider="GlebStarSimpleCms\ServiceProvider"
Added routes for cms pages with your autorization middleware:, (*7)
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, (*8)
php artisan migrate
Configuration
Edit the file config/simplecms.php, (*9)
Create a layout for cms pages, for example, (*10)
@extends('layouts.main')
@section('add_title'){{$page->title}}@endsection
@section('description'){{$page->description}}@endsection
@section('keywords'){{$page->keywords}}@endsection
@section('content')
@can('editor')
@endcan
@yield('cmspagebody')
@endsection
Your layout should have @yield('cmspagebody'), (*11)
If you need, to edit package layouts in resources/views/vendor/simplecms, (*12)