Search by

liberusoftware / module-cms-widgets

curtisdelicata

Widget system for Liberu CMS: a registry of area-scoped widgets (sidebar, dashboard, footer) with ordered rendering.

Package info

github.com/liberusoftware/module-cms-widgets

Type:liberu-module

pkg:composer/liberusoftware/module-cms-widgets

Statistics

Installs: 45

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.1 2026-11-14 13:57 UTC

README

Repository

Source, issues, and release history: https://github.com/liberusoftware/module-cms-widgets

Composer package: https://packagist.org/packages/liberusoftware/module-cms-widgets

The widget system for Liberu CMS: register widgets and render them by area (sidebar, dashboard, footer).

Model

A widget implements WidgetInterface — key, title, area (a WidgetArea enum), order, and render() (returns HTML). The WidgetRegistry collects them; forArea() returns an area's widgets ordered ascending, and renderArea() concatenates their HTML.

$registry = app(\Liberu\Cms\Widgets\WidgetRegistry::class);
$registry->register(new SocialLinksWidget(['GitHub' => 'https://github.com/...']));

$html = $registry->renderArea(\Liberu\Cms\Contracts\Widget\WidgetArea::Footer);

Prebuilt widgets

  • SearchWidget (sidebar) — a search form.
  • SocialLinksWidget (footer) — escaped social links.

Custom widgets

Implement WidgetInterface and register it. Escape any user-provided output.

Public contracts

WidgetInterface, WidgetArea (in cms-contracts).

Events

  • Emits / Listens: none.