PHPackages                             klisica/filament-builder-blocks - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. klisica/filament-builder-blocks

ActiveLibrary

klisica/filament-builder-blocks
===============================

Flexible builder blocks generator for Filament

v1.0.0(1y ago)1204[5 PRs](https://github.com/klisica/filament-builder-blocks/pulls)MITPHPPHP ^8.2CI passing

Since May 31Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/klisica/filament-builder-blocks)[ Packagist](https://packagist.org/packages/klisica/filament-builder-blocks)[ Docs](https://github.com/klisica/filament-builder-blocks)[ GitHub Sponsors](https://github.com/klisica)[ RSS](/packages/klisica-filament-builder-blocks/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (13)Versions (9)Used By (0)

Filament Builder Blocks
=======================

[](#filament-builder-blocks)

### 🏗️ A Simpler Web CMS Builder for Laravel Filament

[](#️-a-simpler-web-cms-builder-for-laravel-filament)

[![Latest Version on Packagist](https://camo.githubusercontent.com/86a89ed3971ede8b2fcb2e161b40533fea895dc241f8bf75df2d972b8d9473c3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klisica/filament-builder-blocks)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/26fcf67e592d2c320666d1d4ca6df396b8c55bba3562983f809ea2a7a534df7f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/klisica/filament-builder-blocks/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/660f369dc171280978f644a0b98dbdede1cde5653010c3dd340c5d047e141344/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/klisica/filament-builder-blocks)[![GitHub License](https://camo.githubusercontent.com/2bdd38596f1dbae5c9c5bbad64e0927764f597eb70f0ce5d040e289322d625fc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b6c69736963612f66696c616d656e742d6275696c6465722d626c6f636b732e7376673f7374796c653d666c61742d737175617265)](https://github.com/klisica/filament-builder-blocks/blob/main/LICENSE)

Create, manage &amp; customize
------------------------------

[](#create-manage--customize)

By re-using Filament's [Builder Input](https://filamentphp.com/docs/3.x/forms/fields/builder) this package enables you to create **custom section blocks as PHP classes** (i.e. `DefaultHeader.php`) enabling you to use all features supported in Filament.

Each section block uses his own **blade view file** (i.e. `default-header.blade.php`) with support for dynamic data binded in PHP classes.

Another great helper functions that are ready-to-use:

- `renderSections(...)` - Returns a fully formatted HTML code for each section,
- `cleanup(...)` - Cleans unused attributes and values on store and update methods on filaments Create and Edit pages.

Installation
------------

[](#installation)

1. Require the package via composer:

```
composer require klisica/filament-builder-blocks
```

2. Install it to publish the config file:

```
php artisan filament-builder-blocks:install
```

3. Open the `config/filament-builder-blocks.php` file and set the `path` value to root destination where you'll have you PHP classes (or leave it as it is).
4. Run make section command to create your first example section class with the blade view file:

```
php artisan make:section Hero
```

Default folder structure example
--------------------------------

[](#default-folder-structure-example)

Main section `Hero.php` will be displayed in builder dropdown, while child sections `ExampleHero.php` and `AdvancedHero.php` will be displayed as toggle buttons.

```
├── app
│   ├── Sections
│   │   ├── Header
│   │   │   ├── ExampleHero.php
│   │   │   ├── AdvancedHero.php
│   │   │
│   │   ├── Hero.php

```

Creating layouts for each section block component.

```
├── resources
│   ├── views
│   │   ├── sections
│   │   │   ├── example-hero.blade.php
│   │   │   ├── advanced-hero.blade.php

```

Note

To be sure that on running the `cleanup()` helper your data won't be remove use the **`content.`** prefix on `make` input methods. This is used a handler to avoid storing inputs that you still need to show for descpritive purposes (i.e. Placeholder component). Take the `ExampleHero.php` as example:

```
class ExampleHero extends AbstractSectionItemProvider
{
    public function getFieldset(): Fieldset
    {
        return Fieldset::make($this->getName())
            ->schema([
                Placeholder::make('contact_links')->columnSpanFull(),  // Will get cleared out.
                TextInput::make('content.heading'),    // Will keep on save methods.
            ]);
    }
}
```

Example for adding cleanup on some Filaments Resource Edit Page:

```
protected function mutateFormDataBeforeSave(array $data): array
{
    return (new FilamentBuilderBlocks)->cleanup($data);
}
```

Rendering components
--------------------

[](#rendering-components)

1. Build sections in controller:

```
$sections = (new FilamentBuilderBlocks)->renderSections(
    sections: $pages->content,    // Page sections stored in content column
    wrappingSections: $layout->content    // Layout sections stored in content column (includes the `yield` field),
    configs: ['page' => $page, 'layout' => $layout]    // Can be whatever you need to bind in `blade.php` files
);

return view('dynamic')->with('sections', $sections);
```

2. Display them in a `dynamic.blade.php` (or whatever you name it) file:

```
@foreach($sections as $section)
    {!! $section !!}
@endforeach
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Credits
-------

[](#credits)

- [Krševan Lisica](https://github.com/klisica)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance65

Regular maintenance activity

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 65.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

710d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/900b06ba651eca5142c879e075335312a25826a24821d90b3a1de816f9382ea9?d=identicon)[KLisica](/maintainers/KLisica)

---

Top Contributors

[![klisica](https://avatars.githubusercontent.com/u/43316726?v=4)](https://github.com/klisica "klisica (23 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (6 commits)")

---

Tags

cmsfilamentlaravellaravelklisicafilament-builder-blocks

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/klisica-filament-builder-blocks/health.svg)

```
[![Health](https://phpackages.com/badges/klisica-filament-builder-blocks/health.svg)](https://phpackages.com/packages/klisica-filament-builder-blocks)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[guava/calendar

Adds support for vkurko/calendar to Filament PHP.

298241.0k3](/packages/guava-calendar)[guava/filament-knowledge-base

A filament plugin that adds a knowledge base and help to your filament panel(s).

206120.5k1](/packages/guava-filament-knowledge-base)[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[bezhansalleh/filament-plugin-essentials

A collection of essential traits that streamline Filament plugin development by taking care of the boilerplate, so you can focus on shipping real features faster

27584.7k16](/packages/bezhansalleh-filament-plugin-essentials)[guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

7565.0k4](/packages/guava-filament-modal-relation-managers)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
