vvvkor / laravel-cms-base
Minimalist CMS for Laravel
Installs: 14
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/vvvkor/laravel-cms-base
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:
usersextended from standard Laravel authentication andsectionsfor pages, articles, files. - Database migrations included.
Cmsfacade andcms()helper function.- Repository of sections
SectionRepository. - Policies for managing users and sections (
UserPolicy,SectionPolicy). - Middleware:
CheckUserRoleandCachePages. - Thumbnails generated and cached with
intervention/image. - Views marked up with
bootstrapclasses.
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.comand passwordadmin. - Or as privileged reader with e-mail
reader@domain.comand passwordreader. - Go to home page again.
- For administrator, on top of page there are links to manage
SectionsandUsers. - For reader, there is a link to a protected page in top menu.