Skip to content

Simple Laravel 5+ (5.4) Theme Switcher with Middleware!

Notifications You must be signed in to change notification settings

codeWithTony/larathemes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Laravel Theme

The simpliest of theme switching for Laravel 5

Installation

Laravel 5.1+

Install Laravel Theme manager:

composer require codewithtony/larathemes

At config/app.php, add the Service Provider and the Facade:

    'providers' => [
        Tony\Themes\ThemeServiceProvider::class,
    ]

    //...

    'aliases' => [
        'Theme' => Tony\Themes\Themes\ThemeFacade::class,
    ]

Usage

Recommended Structure

themes
  ├── [theme name]
  |   └── assets
  |   └── views
  |
  └── [theme name]
      └── assets
      └── views

Setting a theme

Changing your theme is easy

Theme::set('my-theme')

Easily use the Middleware to change themes for an entire group

Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'theme:admin'], function () {
    //...
});

Calling a view

Load your views like normal, Laravel Theme will look for your view in the set theme and if it isn't found, view finding will remain the same

You can reuse views by storing them outside of your theme and just uses view('layout.master') and have your layout/master.blade.php inside you themes.

Assets

Your assets will need to be sent to your public folder still.

Contribute

Your help is more than welcome!

License

Licensed under the The MIT License (MIT). Please see LICENSE for more information.