Bring multi themes support to your Laravel application with a full-featured Themes Manager

Overview

Latest Stable Version Total Downloads License

Introduction

hexadog/laravel-themes-manager is a Laravel package which was created to let you developing multi-themes Laravel application.

Installation

This package requires PHP 7.3 and Laravel 7.0 or higher.

To get started, install Themes Manager using Composer:

composer require hexadog/laravel-themes-manager

The package will automatically register its service provider.

To publish the config file to config/themes-manager.php run:

php artisan vendor:publish --provider="Hexadog\ThemesManager\Providers\PackageServiceProvider"

Documentation

You can find the full documentation here

Related projects

Credits

License

Laravel Themes Manager is open-sourced software licensed under the MIT license.

Comments
  • Can´t create a Child Theme

    Can´t create a Child Theme

    Hey all,

    i am not able to create a child Theme. Multiple Themes works great. But if try to create a child Theme, i get the following errors: I'm using make:theme command. Plugin Verison 1.8 Laravel 8.12

    at C:\Users\dev\Desktop\Hofladen Neues System\vendor\hexadog\laravel-themes-manager\src\ThemesManager.php:324
       320▕         if (is_null($name)) {
       321▕             return null;
       322▕         }
       323▕
     ➜ 324▕         return $this->themes->first(function ($theme) use ($name, $vendor) {
       325▕             // normalize module name
       326▕             $name = str_replace(['-theme', 'theme-'], '', $name);
       327▕             // Check if $name contains vendor
       328▕             if (($pos = strpos($name, '/')) !== false) {
    
     1   C:\Users\dev\Desktop\Hofladen Neues System\vendor\hexadog\laravel-themes-manager\src\ThemesManager.php:106
         Hexadog\ThemesManager\ThemesManager::findByName("hls/default")
    
     2   C:\Users\dev\Desktop\Hofladen Neues System\vendor\hexadog\laravel-themes-manager\src\ThemesManager.php:356
         Hexadog\ThemesManager\ThemesManager::has("hls/default")
    
    bug 
    opened by alibaba258 13
  • Mail views not overriden

    Mail views not overriden

    Laravel seems to override mail hint with default views. so themes/my-theme/resources/views/vendor/mail is not taken into account and mail views have to be override into resources/views/vendor/maildirectory

    bug 
    opened by gaetan-hexadog 12
  • Installation Error

    Installation Error

    composer require hexadog/laravel-themes-manager Using version ^1.7 for hexadog/laravel-themes-manager ./composer.json has been updated Running composer update hexadog/laravel-themes-manager Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages.

    Problem 1 - hexadog/laravel-themes-manager[v1.7.0, ..., v1.7.1] require hexadog/larave l-theme-installer ^1.0 -> satisfiable by hexadog/laravel-theme-installer[v1.0, . .., v1.0.5]. - hexadog/laravel-theme-installer[v1.0, ..., v1.0.4] require composer-plugin -api ^1.1 -> found composer-plugin-api[2.0.0] but it does not match the constrai nt. - hexadog/laravel-theme-installer v1.0.5 requires php ^7.3 -> your php versi on (8.0.1) does not satisfy that requirement. - Root composer.json requires hexadog/laravel-themes-manager ^1.7 -> satisfi able by hexadog/laravel-themes-manager[v1.7.0, v1.7.1].

    You are using Composer 2, which some of your plugins seem to be incompatible wit h. Make sure you update your plugins or report a plugin-issue to ask them to sup port Composer 2.

    Installation failed, reverting ./composer.json and ./composer.lock to their orig inal content.

    help wanted 
    opened by codetestmg 4
  • Wrong Symlink for public folder.

    Wrong Symlink for public folder.

    Hi, When i create theme symlink without vendor name. For example: themes/vendorName/themeName public/themes/themeName --> wrong! According to the documentation it should be: /public/themes/vendorName/themeName

    bug 
    opened by benfiratkaya 2
  • Can't create same theme name in another vendor

    Can't create same theme name in another vendor

    I'm building an ecommerce and have to create themes for the store, for example

    vendor: azure themes: oceanic | dark

    vendor: google themes: purple | dark

    image

    Would be possible to allow repeated theme names but different vendor folder?

    enhancement 
    opened by josegus 2
  • Doc is not clear

    Doc is not clear

    Great package, would gladly collaborate when I have the time

    Maybe the docs are not clear, I think this image should be at the first, so everyone will know how is the folder structure needed to make it work

    image

    I still couldn't make it work:

    The doc says we can use ´´´ThemesManager::set('my-theme') ´´´ to set a theme, but the folder structure is showing that a theme should be wrapped in a vendorname folder (something like any php package, like laravel/jetstram).

    I tried everything, nothing happen:

    ThemesManager::set('azure') ThemesManager::set('azure/soft') ThemesManager::set('soft') ThemesManager::set('azure.soft')

    image

    documentation help wanted 
    opened by josegus 2
  • Error when state changed using livewire

    Error when state changed using livewire

    When displaying a page containing a livewire component, it normally appears. but, when the state changed like do validation, return errors with message view ['livewire-file'] not found like shown in the image:

    Screenshot from 2022-03-05 02-26-58

    If I create an empty file with the same name in the default resources/views folder, the error is gone but validation not working or you can say the magic view update of livewire not working anymore.

    opened by mohamedsabil83 1
  • Develop

    Develop

    Bug Fixes

    • Issue with Email views override when different themes are activated during the same request lifecycle (9b08679)
    • update dependencies (3edc2c3)
    opened by gaetan-hexadog 0
  • Develop

    Develop

    Bug Fixes

    • Update dependencies version (f4d1799)

    Chore

    • Update gitgnore rules (58ad2e4)
    • Update php-cs-fixer config (2deede9, 6f14c8b)
    • Remove old phpcs.xml file (ce21026)
    opened by gaetan-hexadog 0
Releases(v1.10.1)
  • v1.10.1(May 7, 2022)

  • v1.10.0(May 4, 2022)

  • v1.9.3(May 3, 2022)

    Bug Fixes

    • Issue with Email views override when different themes are activated during the same request lifecycle (9b08679)
    • update dependencies (3edc2c3)
    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Apr 19, 2022)

  • v1.9.0(Feb 23, 2022)

  • v1.8.2(Nov 24, 2021)

    Bug Fixes

    • Update dependencies version (f4d1799)

    Chore

    • Update gitgnore rules (58ad2e4)
    • Update php-cs-fixer config (2deede9, 6f14c8b)
    • Remove old phpcs.xml file (ce21026)
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(May 27, 2021)

  • v1.8.0(May 4, 2021)

  • v1.7.3(Apr 30, 2021)

  • v1.7.2(Feb 11, 2021)

  • v1.7.1(Jan 20, 2021)

  • v1.7.0(Jan 19, 2021)

    Added Features

    • Possibility to create themes with same name but different vendor #17 (0bcda45)

    Bug Fixes

    • Helpers: set absolute path as default (81d4d60)
    • Issue with mail views override (4f22912)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Oct 25, 2020)

    Added Features

    • Add config for composer generator (dc2877e)

    Bug Fixes

    • Use mb_strtolower function (0c99216)
    • Don't title theme description (15c3dfb)
    • Don't title author email (6245973)
    • Value not stored in the correct array (05d920a)
    • Remove livewire references from stubs (d8fb851)

    Chore

    • Add missing comments (80aaf1b)
    Source code(tar.gz)
    Source code(zip)
  • v1.5.2(Oct 24, 2020)

    Bug Fixes

    • Use cache facade (f0effc8)
    • double semicolomn (5106002)

    Refactor

    • Use Json make static method (eea8cd7)

    Chore

    • Fix code style (b1e0d51)
    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(Oct 24, 2020)

  • v1.5.0(Oct 24, 2020)

    Added Featrues

    • Add cache ability (3d61a40)

    Bug Fixes

    • fix function signature (011f098)

    Chore

    • clean unused assetsPath property (8f12827)
    • fix code comments (a18f795)
    • fix code style (7b1e844)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.3(Oct 23, 2020)

    Bug Fixes

    • Follow symlinks when scanning for themes (259dc08)
    • Issue when searching theme with vendor prefix (966dd27, 77f30ad)
    • Make console commands use abstractCommand class (7d4e658)

    Refactor

    • Reduce str_replace call (a6b7d06)
    • getPath for file in composer trait (bdb911d)
    • use laravel Str helper when getting path (7d6a095)
    • extract package type to manager (a7901814)
    • remove non ready code (daa479e)

    Chore

    • Add PHP_CodeSniffer as dev dependency and composer run check-style and composer run fix-style scripts (c453371)
    • Add CONTRIBUTING guide (73d0e97)
    • add missing comments (42d9fa0)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Oct 16, 2020)

  • v1.4.1(Oct 16, 2020)

  • v1.4.0(Oct 11, 2020)

    Added Features

    • Add Activate/Deactivate commands (33f2943)

    Bug Fixes

    • Find theme by either name and and namespace (900506e, dc9d4cb)
    • Check if theme is active before enabling it (0ab0cbe)
    • Filter non active themes method (a1e19cc, 5050904)
    • Mix between status and active (6d59d2d)

    Chore

    • Update comments (c91ac6b, 7676ea3)
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Oct 7, 2020)

  • v1.2.0(Oct 6, 2020)

    Added Features

    • Package Views: You can now override third package views into your theme (a4b1197)

    Bug Fixes

    • Wrong asset url under windows (89a0962)

    Chore

    • Style: Fix code style (3dbf088, 1da357a)
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Oct 5, 2020)

    Added features

    • Blade components: Clean up you theme layouts with our integrated Blade Components.
    • Helpers: Add page title reverse mode

    Bug fixes

    • Middleware : Wrong Facade name
    • ThemesManager: Check if theme name found before getting url
    • Theme assets: Wrong base url
    • Provider: Use enw facade name
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Oct 5, 2020)

  • v1.0(Oct 3, 2020)

A bring-your-own-email-first newsletter service. ✨

Typewrite Typewrite a hosted bring-your-own-email newsletter service for people who need a simplistic and privacy-first newsletter service. The core a

Ryan Chandler 3 Dec 2, 2021
Bring Laravel 8's cursor pagination to Laravel 6, 7

Laravel Cursor Paginate for laravel 6,7 Installation You can install the package via composer: composer require vanthao03596/laravel-cursor-paginate U

Pham Thao 9 Nov 10, 2022
A full-featured Laravel package for aiding in Shopify App development

Laravel Shopify App A full-featured Laravel package for aiding in Shopify App development, similar to shopify_app for Rails. Works for Laravel 7 and u

Tyler King 1.2k Dec 19, 2022
A full-featured Laravel package for aiding in Shopify App development

Laravel Shopify App A full-featured Laravel package for aiding in Shopify App development, similar to shopify_app for Rails. Works for Laravel 7 and u

Tyler King 1.2k Jan 1, 2023
💡 Full-featured code intelligence and smart autocomplete for Sublime Text

SublimeCodeIntel This Code Intelligence plugin for Sublime Text provides an interface to CodeIntel. CodeIntel is a code intelligence engine that was p

null 5.1k Dec 27, 2022
Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups, previously github.com/hyn/multi-tenant

The unobtrusive Laravel package that makes your app multi tenant. Serving multiple websites, each with one or more hostnames from the same codebase. B

Tenancy 2.4k Jan 3, 2023
Multi theme support for Laravel application

Multi theme support for Laravel application This Laravel package adds multi-theme support to your application. It also provides a simple authenticatio

QiroLab 287 Dec 29, 2022
Support multi theme for Laravel application

Very short description of the package This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention o

Ephraïm SEDDOR 1 Dec 1, 2021
Taskpm - Run multi tasks by PHP multi process

php-pkg-template Run multi tasks by PHP multi process Install composer composer require phppkg/taskpm Usage github: use the template for quick create

PHPPkg 2 Dec 20, 2021
Laravel Manager - provides some manager functionality for Laravel

Laravel Manager Laravel Manager was created by, and is maintained by Graham Campbell, and provides some manager functionality for Laravel. Feel free t

Graham Campbell 371 Dec 17, 2022
Laravel Manager provides some manager functionality for Laravel

Laravel Manager Laravel Manager was created by, and is maintained by Graham Campbell, and provides some manager functionality for Laravel. Feel free t

Graham Campbell 371 Jul 11, 2022
View themes is a simple package to provide themed view support to Laravel.

Laravel View Themes View themes is a simple package to provide themed view support to Laravel. Installation Add alexwhitman/view-themes to the require

Alex Whitman 15 Nov 29, 2022
Easily integrate single-database multi tenant features into your Laravel application

Laravel Tenant Aware Easily integrate single-database multi tenant features into your Laravel application. Installation You can install the package vi

H-FARM Innovation 9 Dec 21, 2022
Laravel-tagmanager - An easier way to add Google Tag Manager to your Laravel application.

Laravel TagManager An easier way to add Google Tag Manager to your Laravel application. Including recommended GTM events support. Requirements Laravel

Label84 16 Nov 23, 2022
A Laravel extension for using a laravel application on a multi domain setting

Laravel Multi Domain An extension for using Laravel in a multi domain setting Description This package allows a single Laravel installation to work wi

null 658 Jan 6, 2023
A Multi User Chat Application With Laravel and Livewire

A Multi User Chat Application With Laravel and Livewire. where you can chat with multiple frinds at the same time. i build this with php Laravel and Livewire.

Tauseed 15 Oct 22, 2022
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.

Webdevetc BlogEtc - Complete Laravel Blog Package Quickly add a blog with admin panel to your existing Laravel project. It has everything included (ro

WebDevEtc. 227 Dec 25, 2022
Laravel messenger. A full messenger suite for your new / existing laravel app

Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!

Richard  Tippin 290 Dec 30, 2022
Menu ordering/management application demo, like Wordpress menu manager

Menu manager like Wordpress using Laravel and Nestable See demo at: http://laravel-menu-builder.gopagoda.com/admin/menu Tutorial coming up at: http://

Maksim Surguy 336 Nov 25, 2022