PHPackages                             webkid/cms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. webkid/cms

ActiveLibrary[Framework](/categories/framework)

webkid/cms
==========

Easy to use and light weight cms based on Laravel 5.5

0.2.4(8y ago)0109MITJavaScript

Since Nov 23Pushed 8y ago1 watchersCompare

[ Source](https://github.com/PoTHuYJoHN/cms)[ Packagist](https://packagist.org/packages/webkid/cms)[ RSS](/packages/webkid-cms/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (1)Versions (13)Used By (0)

Get started
-----------

[](#get-started)

```
composer require webkid/cms
```

Implement `Webkid\Cms\Models\Roleable` trait to User model

Copy assets to your public folder

```
php artisan vendor:publish
```

Run migrations

```
php artisan migrate
```

Add role\_id to fillable array of User model

```
protected $fillable = [
	'name',
	'email',
	'password',
	'role_id'
];
```

Go to public/vendor/cms folder and run

```
bower install
```

Optional
--------

[](#optional)

Generate admin user via console

```
php artisan cms:admin:create
```

To use multi lang add Language middleware to web group

```
'web' => [
        ...
	\Webkid\Cms\Middleware\Language::class
],
```

Add exception cookie `lang` to `App\Http\Middleware\EncryptCookies\`

```
protected $except = [
    'lang'
];
```

Add language switcher to your website. Be sure that languages are in your `config/langs.php`

```

	ua
	ru
	en

```

Example of controller
---------------------

[](#example-of-controller)

```
public function home()
{
	$page = $this->landingPageRepository->getByToken('home');
	if(!$page) abort(404);

	$fields = $this->landingPageRepository->transformPage($page);
	$files = $page->files;

	$seo_title = $this->getSeoAttributeFromFields($fields, 'seo_title');
	$seo_description = $this->getSeoAttributeFromFields($fields, 'seo_description');

	$sliderCollection = $this->landingPageRepository->getByTokenAndSection('home', 'home_slider');
	$sliderItems = $this->landingPageRepository->getFullInfoFromCollectionOfPages($sliderCollection->toArray());

	$settings = $this->settings;

	$fields['video_id'] = false;

	if(isset($fields['video_url'])) {
		$fields['video_id'] = $this->get_youtube_video_id($fields['video_url']);
	}

	return view('pages/home', compact('fields', 'files', 'sliderItems') + compact('seo_title', 'seo_description', 'settings'));
}
```

Example of dashboard extension
------------------------------

[](#example-of-dashboard-extension)

```
