Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Filament Page Builder

Filament Page Builder Laravel Package

carljanzell/filament-page-builder

A page builder for Filament that lets you assemble pages from reusable blocks. Define custom block types, drag and drop them into flexible layouts, and edit content straight from the admin panel. A practical way to give editors structured control over Laravel site pages.

View on GitHub
Deep Wiki
Context7

A drag-and-drop visual page builder for Filament, storing content as ordered typed blocks.

Frequently asked questions about Filament Page Builder
Does carljanzell/filament-page-builder render pages on the frontend, or only provide the admin editor?
The package is explicit that it stores page content as ordered typed blocks, but the provided overview does not state that it ships a first-party Blade renderer. Plan on owning a block-to-view rendering layer, and treat that layer, not the plugin, as the real frontend deliverable. Verify the current README and source before committing to the integration.
How do I install and register the page builder in a Laravel Filament panel?
Install it with Composer, then register the plugin in your Filament PanelProvider. You also need a nullable JSON column on the model plus a cast so the ordered block payload is read and written correctly. After that the builder is usable from the admin panel.
Which Filament and PHP versions does filament-page-builder support?
Version 0.3.1 targets Filament 3, while version 0.4.2 requires Filament 4.12.6 or newer, or Filament 5.x, along with PHP 8.3 or newer. The 4.12.6 floor excludes earlier Filament 4 minors, which matters if another plugin pins your panel to an older release. Pin your Filament major and choose the package branch deliberately.
What database schema and model cast does the page builder need?
The package persists page content as ordered, typed blocks in a single JSON column. Add a nullable JSON column to your pages table and cast it to an array or JSON on the Eloquent model. This design is simple for page authoring but does not support querying individual block fields.
How do I add custom block types to the page builder?
The package is designed around defining custom block types, but the exact registration API is not covered in the provided excerpt. Review the README and source for how block classes are registered and versioned. Give each block type a stable key and a schema_version so stored JSON can be migrated later.
Can I migrate existing Laravel pages to the block builder without changing URLs?
Yes, migration is brownfield-friendly because the storage unit is one nullable JSON column. Add the column, backfill legacy pages as a single rich-text block so existing URLs render unchanged, and run the new builder only for newly authored pages. Freeze the legacy editor at cutover rather than attempting block-level conversion of historical content.
Is this page builder a good fit for block-level search, localization, or content aggregation?
It is a poor fit if your roadmap includes block-level search, content aggregation across pages, per-block localization, or relational integrity between blocks and other entities. Those requirements force application code around the JSON blob or a later re-modeling effort. Confirm early that this is a page-authoring tool, not a content platform.
How should I handle images and media inside page builder blocks?
The provided material does not specify whether media is handled through Filament file uploads, Spatie Media Library, or raw paths. Check the package source and your chosen block implementations before designing an editorial workflow. Whichever approach you use, store stable references in the block JSON and avoid baking in raw filesystem paths.
What are the production risks of using this package, including the Filament SPA navigation issue?
This is a single-maintainer package with 14 stars and zero dependents, so field-proven installs are limited. Version 0.4.2 fixed a Livewire SPA-navigation interaction where a confirm dialog could be bypassed, so audit your panel's spa() setting before rollout. Also verify release metadata against the actual tag history, since the vendor name differs from the repository owner and the stated last-release date is future-dated.
How do I test that stored block JSON still renders correctly after changes?
Add contract tests that load stored JSON fixtures and assert each block type renders the expected HTML. Include a schema_version key in the stored payload and test migrations whenever a block's shape changes. Run these tests against your pinned Filament major before upgrading the package or the panel.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core