vvvkor / laravel-cms-base
Minimalist CMS for Laravel
2.1.1
2018-05-16 14:32 UTC
Requires
- php: >=5.4
- illuminate/support: ^5.1
- intervention/image: ^2.4
- intervention/imagecache: ^2.3
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
README
Minimalist CMS for Laravel
Features
- Lightweight
- Minimal footprint (just one additional table in database)
- Manage users
- Profile page
- Manage pages ("sections") hierarchy (view as table or as nested list)
- Public and protected pages (and attached files)
- Publication can be planned for future
- Many articles per page
- Many uploads per article
- Localizable (english and russian translations icluded)
- Uses standard Laravel authentication
- Ready to use WYSIWYG CKEditor
- Cache pages
- Image thumbnails (also cached)
Developer info
- Uses two database tables:
users
extended from standard Laravel authentication andsections
for pages, articles, files. - Database migrations included.
Cms
facade andcms()
helper function.- Repository of sections
SectionRepository
. - Policies for managing users and sections (
UserPolicy
,SectionPolicy
). - Middleware:
CheckUserRole
andCachePages
. - Thumbnails generated and cached with
intervention/image
. - Views marked up with
bootstrap
classes.
Install
In short: configure database then run:
$ php artisan make:auth
$ composer require vvvkor/laravel-cms-base
$ php artisan migrate
$ php artisan make:cms
Configure database (if you have not alredy)
Set parameters in .env
or config/database.php
files of your project.
Depending on DBMS version (MySQL < 5.7.7.), you may need to fix string length .
Enable authorization (if you have not alredy)
$ php artisan make:auth
Require CMS package
$ composer require vvvkor/laravel-cms-base
Add service provider (if auto-discovery is disabled)
In config/app.php
add to providers
section
vvvkor\cms\cmsServiceProvider::class,
and to aliases
section
'Cms' => vvvkor\cms\Facades\Cms::class,
Migrate tables with default data
$ php artisan migrate
Add CMS routes
To add routes to routes/web.php
run
$ php artisan make:cms
or add manually to routes/web.php
Cms::routes();
Publish views, translations, config (optional)
Copy stuff to your app if you want to modify it.
Views are marked with Bootstrap classes.
$ php artisan vendor:publish --provider=vvvkor\laravel-cms-base\CmsServiceProvider
Use WYSIWYG CKEditor (optional)
You can use CKEditor for visual formatting of texts.
$ composer require unisharp/laravel-ckeditor
In config/app.php
add to providers
section
Unisharp\Ckeditor\ServiceProvider::class,
Publish assets
$ php artisan vendor:publish --tag=ckeditor
Usage
- Using browser go to home page of your project.
- Log in as administrator with e-mail
admin@domain.com
and passwordadmin
. - Or as privileged reader with e-mail
reader@domain.com
and passwordreader
. - Go to home page again.
- For administrator, on top of page there are links to manage
Sections
andUsers
. - For reader, there is a link to a protected page in top menu.