Search by

microweber-packages / microweber-module-registry

boksiora

Standalone Microweber module registry for Laravel. Register, discover, render modules and scan blade skins/templates. Usable inside the CMS or any standalone Laravel app.

Package info

github.com/microweber-packages/microweber-module-registry

Homepage

pkg:composer/microweber-packages/microweber-module-registry

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-03 11:41 UTC

This package is auto-updated.

Last update: 2026-11-04 15:38:04 UTC


README

Standalone Laravel package that provides the Microweber module registry: register modules, render them, discover blade skins/templates, and integrate with Live Edit settings.

Usable inside the Microweber CMS or in any standalone Laravel application.

Installation

composer require microweber-packages/microweber-module-registry

The service provider auto-discovers. If you disable discovery, register:

MicroweberPackages\ModuleRegistry\ModuleRegistryServiceProvider::class,

Usage

Register a module

use MicroweberPackages\ModuleRegistry\Facades\ModuleRegistry;
use App\Modules\HeroModule;

// In a service provider register():
ModuleRegistry::module(HeroModule::class);

Render a module

$html = ModuleRegistry::render('hero', ['id' => 'module-1']);

List modules / settings

$modules = ModuleRegistry::getModules();
$details = ModuleRegistry::getModulesDetails();
$settings = ModuleRegistry::getSettingsComponents();
$skins = ModuleRegistry::getTemplates('hero');

Define a module

use MicroweberPackages\ModuleRegistry\Abstract\BaseModule;

class HeroModule extends BaseModule
{
    public static string $name = 'Hero';
    public static string $module = 'hero';
    public static string $templatesNamespace = 'modules.hero::templates';
}

Blade skin scanning

use MicroweberPackages\ModuleRegistry\Support\ScanForBladeTemplates;

$scanner = new ScanForBladeTemplates();
$skins = $scanner->scan('modules.hero::templates', 'hero');

CMS compatibility aliases

The container binding microweber and the Microweber facade alias remain available for backward compatibility:

app()->microweber->hasModule('hero');
\MicroweberPackages\ModuleRegistry\Facades\Microweber::module(HeroModule::class);

Optional CMS helpers

When running outside the CMS, option/template helpers (get_option, template_name, …) are no-ops or return safe defaults. Register modules and render with explicit params for full standalone use.

Testing

composer test
composer analyse

License

MIT

Authors

Part of Microweber, built by:

  • Peter Ivanov
  • Bozhidar Slaveykov