Download the PHP package karlomikus/theme without Composer
On this page you can find all versions of the php package karlomikus/theme. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download karlomikus/theme
More information about karlomikus/theme
Files in karlomikus/theme
Package theme
Short Description Add theming support to your Laravel 5.* projects
License MIT
Homepage https://github.com/karlomikus/theme
Informations about the package theme
Laravel Theme
Add theming support to your Laravel 5.* projects.
Features
- Custom theme locations
- Support for theme inheritence with theme fallback
- Theme assets loading
- Artisan console commands
Install
Require it via terminal like so:
Or add the package to your composer file:
Next add new service provider and facade to your config/app.php
file:
Next you need to publish the config file:
This will create a theme.php file in your config directory in which you can define your default path to themes directory.
Theme setup
Create new folder in your themes directory (default: public/themes) and add views folder (which will hold all your custom views) and theme.json file (contains information about a theme).
This are all available attributes, but the required ones only include: name
, author
and namespace
.
Value of namespace
must be the name of the theme's folder.
If you want your theme to depend on other theme views, just include a parent theme namespace in parent
attribute.
Example folder structure:
Usage
The library will firstly check all available valid themes in theme directory.
You can then set a theme by it's namespace:
Then you call views like you usually do in laravel:
This will firstly check if there is a home.blade.php in current theme directory. If none is found then it checks parent theme, and finally falls back to default laravel views location.
You can also inject theme instance using ThemeInterface.
Theme path
You can set default path to themes folder in config/theme.php file. Please note that currently themes folder must be somewhere inside public folder.
Available methods
Here's the list of methods you can access:
Artisan commands
Get a table of all found themes:
Create a theme directory with config file:
Changelog
Please see CHANGELOG for more information what has changed recently.
TODO
- Contact me for ideas