PHPackages                             marshmallow/pages - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. marshmallow/pages

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

marshmallow/pages
=================

Deze package geeft de mogelijkheid om gemakkelijk pagina's te beheren in Laravel. Dit is eigelijk een verzameling van handinge composer packages van derde en samengevoegd om snel te kunnen hergebruiken.

v5.0.7(5mo ago)412.8k↓78.6%[1 PRs](https://github.com/marshmallow-packages/pages/pulls)MITPHPPHP ^8.1CI passing

Since May 7Pushed 2w ago1 watchersCompare

[ Source](https://github.com/marshmallow-packages/pages)[ Packagist](https://packagist.org/packages/marshmallow/pages)[ Docs](https://github.com/Marshmallow-Development/)[ RSS](/packages/marshmallow-pages/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (11)Versions (73)Used By (0)

[![alt text](https://camo.githubusercontent.com/f5450f299f5713ce2f04dd5a1ba7ce9960ed4568b3574e4c4ee3cddc75477253/68747470733a2f2f6d617273686d616c6c6f772e6465762f63646e2f6d656469612f6c6f676f2d7265642d3233377834362e706e67 "marshmallow.")](https://camo.githubusercontent.com/f5450f299f5713ce2f04dd5a1ba7ce9960ed4568b3574e4c4ee3cddc75477253/68747470733a2f2f6d617273686d616c6c6f772e6465762f63646e2f6d656469612f6c6f676f2d7265642d3233377834362e706e67)

Laravel Nova Pages
==================

[](#laravel-nova-pages)

[![Version](https://camo.githubusercontent.com/62d414ca3b7b382e03b749ef5bd6a9ce88d297ffa11730fe67bc4045dc6daa52/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d617273686d616c6c6f772f7061676573)](https://packagist.org/packages/marshmallow/pages)[![Total Downloads](https://camo.githubusercontent.com/69daa931c5529777ce36c27a8386c1dd831c840eb2f268e8d810df157770cb24/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d617273686d616c6c6f772f7061676573)](https://packagist.org/packages/marshmallow/pages)[![Issues](https://camo.githubusercontent.com/c1c753226048449c9e75f46ced729983c8f097b9825c3001c8ebe763e858aa18/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d617273686d616c6c6f772d7061636b616765732f7061676573)](https://github.com/marshmallow-packages/pages/issues)[![Licence](https://camo.githubusercontent.com/a913194945bd6d64d4da6927f2a702289293a21a25bddeb71b5e7ab02af9cbd0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d617273686d616c6c6f772d7061636b616765732f7061676573)](https://github.com/marshmallow-packages/pages)[![PHP Syntax Checker](https://github.com/marshmallow-packages/pages/workflows/PHP%20Syntax%20Checker/badge.svg)](https://github.com/marshmallow-packages/pages/workflows/PHP%20Syntax%20Checker/badge.svg)

This package provides you with the ability to easily create and manage pages and their content in Laravel Nova. It is essentially a curated bundle of handy Composer packages — both third-party and Marshmallow's own — combined so they can be reused quickly. The page body is built with [`marshmallow/nova-flexible`](https://github.com/marshmallow-packages/nova-flexible) layouts and is rendered to your front-end via a Blade view.

Requirements
------------

[](#requirements)

- PHP `^8.1`
- [Laravel Nova](https://nova.laravel.com) `^5.0`

The package pulls in a number of Marshmallow packages it builds on, including `sluggable`, `seoable`, `translatable`, `redirectable`, `nova-flexible`, `nova-multiselect-field` and `nova-fontawesome`. These are installed automatically via Composer.

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

[](#installation)

### Composer

[](#composer)

You can install the package via composer:

```
composer require marshmallow/pages
```

#### Install for Nova 4

[](#install-for-nova-4)

If you are using Nova 4, you can install the package using the command below.

```
composer require marshmallow/pages "^4.0"
```

### Run the artisan command

[](#run-the-artisan-command)

Publish the configs from the Flexible package, migrate to create the `pages` table, create your Laravel Nova resource to manage your pages, and register the page routes in `routes/web.php`. This is all handled by a single install command:

```
php artisan pages:install
```

Under the hood `pages:install` publishes the package's assets, publishes the Flexible field assets, runs `migrate`, generates a `Page` Nova resource, and appends `\Marshmallow\Pages\Facades\Page::routes();` to your `routes/web.php`.

Usage
-----

[](#usage)

You can add `{!! Page::render($page) !!}` to your blade file to render the layouts that are connected to the page. You can also loop through them yourself if that is helpful, like:

```
@foreach ($layouts as $layout)
    {{ $layout->render() }}
@endforeach
```

The `Page` facade also exposes a few helpers:

```
use Marshmallow\Pages\Facades\Page;

Page::routes();      // Register a route for every page (call this in routes/web.php)
Page::find($id);     // Retrieve a single cached page by its id
```

Add a new layout
----------------

[](#add-a-new-layout)

You can generate new layouts via the command provided by the `marshmallow/nova-flexible` package that is included in this package. Run the command below to generate a new layout.

```
php artisan marshmallow:layout
```

Next you will need to add the newly generated layout to your `flexible` config.

```
/**
 * config/flexible.php
 */
return [
    /**
     * Your custom layouts. Please check the readme.md file for more
     * information about these custom layouts.
     */
    'layouts' => [
        'sluggable-name-of-your-layout' => \App\Flexible\Layouts\LayoutClassName::class
    ],
];
```

Configuration
-------------

[](#configuration)

After running `pages:install` (or publishing manually with `php artisan vendor:publish --provider="Marshmallow\Pages\PagesServiceProvider"`), the config file is available at `config/pages.php`. The available options are:

KeyDefaultDescription`database.connection``null`Database connection used for the `pages` table. `null` uses the default connection.`view``marshmallow::layout`The Blade view used to render a page.`wysiwyg``env('NOVA_WYSIWYG', \Laravel\Nova\Fields\Trix::class)`The Nova field class used for WYSIWYG content.`model``\Marshmallow\Pages\Models\Page::class`The Eloquent model representing a page. Override to use your own.`middleware``\Marshmallow\Pages\Http\Middleware\PageMiddleware::class`Middleware applied to every page route.`controller``\Marshmallow\Pages\Http\Controllers\PageController@show`The controller action that handles page requests.`nova_translatable_fields``true`Show the language selector when editing a resource in Laravel Nova.`share_page_to_view_data``false`When enabled, the full page is shared with all your view components.`use_multi_languages``false`Enable when using Marshmallow's Translatable package to load translated routes and resolve pages by a translated slug.`breadcrumb``false`Whether pages should be added to the Marshmallow Breadcrumb stack.`flexible_config``[]`Extra config loaded by the Flexible package to change its default behaviour.Changelog
---------

[](#changelog)

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

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Stef](https://marshmallow.dev)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance86

Actively maintained with recent releases

Popularity27

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 80% 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

Every ~32 days

Recently: every ~43 days

Total

66

Last Release

166d ago

Major Versions

v3.1.0 → v4.0.02022-05-06

v4.1.0 → v5.0.02025-01-05

v4.1.1 → v5.0.12025-01-07

v4.1.2 → v5.0.32025-04-09

v4.1.3 → v5.0.52025-08-07

PHP version history (4 changes)v1.0.0PHP ^7.4

v2.1.3PHP ^7.4|^8.0

v4.0.0PHP ^8.0

v5.0.1PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/be33d2624e24c516e73892b0929447cc762f3622c024ab8d0d2a59042e5d2c7f?d=identicon)[marshmallow](/maintainers/marshmallow)

---

Top Contributors

[![stefvanesch](https://avatars.githubusercontent.com/u/46725619?v=4)](https://github.com/stefvanesch "stefvanesch (168 commits)")[![LTKort](https://avatars.githubusercontent.com/u/2412670?v=4)](https://github.com/LTKort "LTKort (35 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")

---

Tags

marshmallow

### Embed Badge

![Health badge](/badges/marshmallow-pages/health.svg)

```
[![Health](https://phpackages.com/badges/marshmallow-pages/health.svg)](https://phpackages.com/packages/marshmallow-pages)
```

###  Alternatives

[optimistdigital/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2852.1M6](/packages/optimistdigital-nova-sortable)[outl1ne/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2862.1M9](/packages/outl1ne-nova-sortable)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)

PHPackages © 2026

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