Download the PHP package bambamboole/filament-pages without Composer

On this page you can find all versions of the php package bambamboole/filament-pages. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package filament-pages

Filament Pages

Latest Version on Packagist GitHub Tests Action Status Total Downloads

A Filament plugin for managing hierarchical, block-based content pages. Features a drag-and-drop page tree, extensible block system (Markdown, Image out of the box), nested pages with automatic slug path computation, multi-locale support, SEO integration, and live preview.

Features

Screenshots

Page Editor SEO Tab

Installation

Publish and run the migrations:

Optionally publish the config:

Register the plugin in your Filament panel provider:

Add the plugin views to your Tailwind CSS content paths:

Configuration

The plugin is configured through the fluent API on FilamentPagesPlugin and the published config file.

Blocks and layouts are auto-discovered using PHP attributes. Add your application's directories to the discovery paths in config/filament-pages.php:

Blocks

Blocks are classes annotated with #[IsBlock] that extend AbstractBlock. They are auto-discovered from the package's built-in Blocks/ directory and any directories listed in block_discovery_paths.

Two blocks ship out of the box:

Layouts

Layouts control how pages render on the frontend. They are classes annotated with #[IsLayout] that extend AbstractLayout. They are auto-discovered from the package's built-in Layouts/ directory and any directories listed in layout_discovery_paths.

Multi-Locale

Enable multi-language content by configuring locales in the config file:

When locales are enabled, the page tree filters by locale and frontend routes include a {locale} prefix.

SEO

SEO is always enabled. Every page form includes an SEO tab (powered by ralphjsmit/laravel-filament-seo).

Extend the SEO form with custom fields:

Response Caching

Enable HTTP response caching for frontend pages using spatie/laravel-responsecache:

When enabled, cached responses are served instantly and refreshed in the background after expiry. The cache is automatically invalidated when a page is saved or deleted.

Preview

Live preview is always enabled (powered by pboivin/filament-peek). To use a custom preview view:

Creating Custom Blocks

Generate a block stub with the Artisan command:

A custom block uses the #[IsBlock] attribute for metadata, extends AbstractBlock, and defines a build() method to configure the Filament form schema:

The #[IsBlock] attribute accepts type (unique identifier matching the block type stored in the database), label (display name), and an optional translateLabel flag. If label is omitted, it is derived from the type automatically.

Block Schema (Structured Data)

Blocks can contribute JSON-LD structured data by overriding the registerSchema() method. The page model collects schema entries from all blocks and passes them to the SEO layer automatically.

The SchemaCollection supports addFaqPage(), addArticle(), and addBreadcrumbs() out of the box. Blocks that don't override registerSchema() contribute nothing — no empty <script> tags are generated.

Block Assets

Blocks can declare CSS and JavaScript assets by overriding the assets() method. Assets are deduplicated per request and rendered via Blade directives in your layout.

BlockAsset::url() creates a <link>/<script src> tag while BlockAsset::inline() creates an inline <style>/<script> tag. CSP nonces are applied automatically when Vite::cspNonce() is set.

Include the Blade directives in your layout to render block assets:

Blocks that don't override assets() contribute nothing.

Creating Custom Layouts

Generate a layout stub:

A layout uses the #[IsLayout] attribute for metadata, extends AbstractLayout, and provides a render() method:

The #[IsLayout] attribute accepts key (unique identifier used in the database), label (display name), and an optional translateLabel flag. If label is omitted, it is derived from the key automatically.

Include the asset directives in your layout to load the frontend CSS and any block-specific assets:

Route Registration

Register the frontend page routes in your routes/web.php:

When locales are configured, routes are automatically prefixed with {locale}.

Frontend Rendering

Pages are rendered through their assigned layout using {!! $page->renderBlocks() !!}.

You can also render blocks programmatically:

Import & Export

Pages can be exported to and imported from YAML files. Both commands are idempotent — running them multiple times produces the same result.

Export

Exports pages as YAML files in a hierarchical directory structure. Media files are exported alongside their page. Parent pages with children use _index.yaml, and filenames are prefixed with their sort order (e.g. 01-about/).

Import

Option Description
--path Source directory (default: resources/pages)
--locale Locale for imported pages
--type Page type (default: page)
--prune Soft-delete database pages not found in source
--dry-run Preview changes without modifying the database

The importer creates, updates, or skips pages based on whether changes are detected. Soft-deleted pages are restored if they reappear in the source files. Media referenced in YAML blocks are imported automatically.

Page Tree

The plugin provides an interactive page tree at /pages in your Filament panel. You can:

Custom actions can be added to tree items:

Authorization

The package supports Laravel policies for access control. Create a policy for your page model to restrict actions:

Supported abilities: create, update, delete, reorder.

The package is permissive by default — when no policy is registered, all actions are allowed. Once a policy exists, only explicitly allowed abilities are permitted.

Laravel Boost Skill

This package ships with a Laravel Boost skill that teaches AI agents how to create custom blocks and layouts. The skill is auto-installed when users run php artisan boost:install and provides detailed guidance on the block/layout architecture, asset system, and testing patterns.

Testing

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of filament-pages with dependencies

PHP Build Version
Package Version
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package bambamboole/filament-pages contains the following files

Loading the files please wait ...