PHPackages                             anomaly/pages-module - 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. [Framework](/categories/framework)
4. /
5. anomaly/pages-module

ActiveStreams-addon[Framework](/categories/framework)

anomaly/pages-module
====================

Create pages, generate navigation, manage content, and build websites faster than ever.

v2.7.2(6mo ago)846.6k222MITPHP

Since Aug 2Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/anomalylabs/pages-module)[ Packagist](https://packagist.org/packages/anomaly/pages-module)[ Docs](http://pyrocms.com/addons/anomaly/pages-module)[ RSS](/packages/anomaly-pages-module/feed)WikiDiscussions 2.7 Synced 3w ago

READMEChangelogDependencies (2)Versions (256)Used By (2)

Pages Module
============

[](#pages-module)

*anomaly.module.pages*

#### Create pages, generate navigation, manage content, and build websites faster than ever.

[](#create-pages-generate-navigation-manage-content-and-build-websites-faster-than-ever)

The Pages Module is PyroCMS's flagship content management system for building dynamic websites with powerful page types and layouts.

Features
--------

[](#features)

- Page type system
- Layout management
- Nested page structure
- Route handling
- SEO optimization
- Multiple page types
- Template variables
- Page drafts &amp; versioning

Usage
-----

[](#usage)

### Creating Page Types

[](#creating-page-types)

Navigate to **Pages &gt; Types** in the control panel to create page types with custom fields and layouts.

### Accessing Pages

[](#accessing-pages)

```
use Anomaly\PagesModule\Page\Contract\PageRepositoryInterface;

$pages = app(PageRepositoryInterface::class);

// Get page by path
$page = $pages->findByPath('/about');

// Get home page
$home = $pages->findHome();

// Get child pages
$children = $pages->findChildren($page);
```

### In Twig

[](#in-twig)

```
{# Current page #}
{{ page.title }}
{{ page.meta_title }}
{{ page.content|raw }}

{# Navigation #}
{% for child in page.children %}
    {{ child.title }}
{% endfor %}

{# Build menu from pages #}
{% for item in pages().root().get() %}
    {{ item.title }}
{% endfor %}
```

### Page Variables

[](#page-variables)

```
{# Access page type fields #}
{{ page.content }}
{{ page.hero_image.path }}
{{ page.gallery.images }}

{# Meta information #}
{{ page.meta_title }}

```

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

[](#requirements)

- Streams Platform ^1.10
- PyroCMS 3.10+
- Preferences Module ^2.3+

License
-------

[](#license)

The Pages Module is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance70

Regular maintenance activity

Popularity34

Limited adoption so far

Community30

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 82.3% 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 ~15 days

Recently: every ~326 days

Total

256

Last Release

202d ago

Major Versions

v1.1.35 → v2.0.02016-02-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/3dc718dba9317e897b74dcb30e5c06bd106e1ad72b2df5242b66bcc28053fbf3?d=identicon)[anomaly](/maintainers/anomaly)

---

Top Contributors

[![RyanThompson](https://avatars.githubusercontent.com/u/1099967?v=4)](https://github.com/RyanThompson "RyanThompson (181 commits)")[![bloveless](https://avatars.githubusercontent.com/u/535135?v=4)](https://github.com/bloveless "bloveless (6 commits)")[![aidanwatt](https://avatars.githubusercontent.com/u/3669142?v=4)](https://github.com/aidanwatt "aidanwatt (3 commits)")[![ChristianGiupponi](https://avatars.githubusercontent.com/u/1614796?v=4)](https://github.com/ChristianGiupponi "ChristianGiupponi (3 commits)")[![jacksun101](https://avatars.githubusercontent.com/u/417021?v=4)](https://github.com/jacksun101 "jacksun101 (3 commits)")[![JoelESvensson](https://avatars.githubusercontent.com/u/6786740?v=4)](https://github.com/JoelESvensson "JoelESvensson (3 commits)")[![MarceauKa](https://avatars.githubusercontent.com/u/1665333?v=4)](https://github.com/MarceauKa "MarceauKa (3 commits)")[![Eighke](https://avatars.githubusercontent.com/u/2734125?v=4)](https://github.com/Eighke "Eighke (2 commits)")[![damian-pf](https://avatars.githubusercontent.com/u/13355851?v=4)](https://github.com/damian-pf "damian-pf (2 commits)")[![edster](https://avatars.githubusercontent.com/u/656313?v=4)](https://github.com/edster "edster (2 commits)")[![aldf](https://avatars.githubusercontent.com/u/11527940?v=4)](https://github.com/aldf "aldf (1 commits)")[![tobz-nz](https://avatars.githubusercontent.com/u/443054?v=4)](https://github.com/tobz-nz "tobz-nz (1 commits)")[![joselfonseca](https://avatars.githubusercontent.com/u/2046653?v=4)](https://github.com/joselfonseca "joselfonseca (1 commits)")[![kiger](https://avatars.githubusercontent.com/u/2277562?v=4)](https://github.com/kiger "kiger (1 commits)")[![Youhan](https://avatars.githubusercontent.com/u/2191898?v=4)](https://github.com/Youhan "Youhan (1 commits)")[![metehancelik](https://avatars.githubusercontent.com/u/80481282?v=4)](https://github.com/metehancelik "metehancelik (1 commits)")[![oimken](https://avatars.githubusercontent.com/u/5130712?v=4)](https://github.com/oimken "oimken (1 commits)")[![Piterden](https://avatars.githubusercontent.com/u/5930429?v=4)](https://github.com/Piterden "Piterden (1 commits)")[![RobinRadic](https://avatars.githubusercontent.com/u/754732?v=4)](https://github.com/RobinRadic "RobinRadic (1 commits)")[![dwainscheeren](https://avatars.githubusercontent.com/u/3868853?v=4)](https://github.com/dwainscheeren "dwainscheeren (1 commits)")

---

Tags

modulepagespyrocms

### Embed Badge

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

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

###  Alternatives

[pyrocms/pyrocms

Build better Laravel websites and applications faster with Pyro.

3.2k68.9k](/packages/pyrocms-pyrocms)[nwidart/laravel-modules

Laravel Module management

6.2k15.6M306](/packages/nwidart-laravel-modules)[internachi/modular

Modularize your Laravel apps

1.2k786.8k13](/packages/internachi-modular)[pingpong/modules

Laravel Modules

576190.1k13](/packages/pingpong-modules)[mhmiton/laravel-modules-livewire

Using Laravel Livewire in Laravel Modules package with automatically registered livewire components for every modules.

234455.5k9](/packages/mhmiton-laravel-modules-livewire)[artem-schander/l5-modular

Modular pattern generator for Laravel

217239.7k](/packages/artem-schander-l5-modular)

PHPackages © 2026

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