New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

brenelz/laravel-childthemes

This package allows you to create multiple themes and only overwrite the default when you need to instead of copying entire theme.
9 4
Install
composer require brenelz/laravel-childthemes:dev-master
PHP:>=5.4.0
Last Updated:Dec 14, 2014
Links: GitHub  ·  Packagist
Maintainer: brenelz

Laravel Child Themes

Create multiple themes in Laravel and only overwrite the default when you need to instead of copying the entire theme.

For example you could have the following directory structure.

  • views/DefaultTheme/
    • master.blade.php
    • index.blade.php
    • contact.blade.php
  • views/HolidayTheme/
    • master.blade.php

In this case if you have the DefaultTheme as the default, and the HolidayTheme as the active - it will render the HolidayTheme master page but keep the index and contact views untouched from the DefaultTheme.

Please note that child themes are not limited to blade. They are bound to the Laravel ViewFactory so Twig and other template engines will work as well.

ThemeHelper Facade

Recently I have added a ThemeHelper facade and changed up the config file. In some cases you don't want to copy the entire blade file but instead just want to swap out strings based on which theme is active.

To use this new feature just put something like the following in your view files.

<h1>{{ThemeHelper::get('siteName')}}</h1>

It will then output whatever site name you have defined in your config for the active theme.

Installation

Add the following to the require section of your composer.json file and run an update:

"brenelz/laravel-childthemes": "dev-master",

The final step is adding the service provider to your Laravel application's app.php:

'Brenelz\Childthemes\ChildthemesServiceProvider',

Related Packages

petercoles/themes

Opinionated theme manager for Laravel

88 4
sircumz/laravel-themes

A Laravel 5.4 package for a theme based design.

19 2
paradox-one/theme-manager

Provides a simplistic Theme Manager for Laravel 4.

7 0
yepsua/filament-themes

Manage filament themes from the config files

24,613 34
torann/device-view

Provides support for device based view layouts in Laravel.

6,630 14