PHPackages                             medienbaecker/kirby-modules - 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. medienbaecker/kirby-modules

ActiveKirby-plugin[Utility &amp; Helpers](/categories/utility)

medienbaecker/kirby-modules
===========================

Easily add modules to your pages

5.5.5(2d ago)895.5k71proprietaryPHPCI failing

Since Nov 19Pushed 3w ago9 watchersCompare

[ Source](https://github.com/medienbaecker/kirby-modules)[ Packagist](https://packagist.org/packages/medienbaecker/kirby-modules)[ RSS](/packages/medienbaecker-kirby-modules/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (6)Versions (58)Used By (1)

Kirby Modules
=============

[](#kirby-modules)

Modular page building for [Kirby](https://getkirby.com/). Every module is a regular page with its own blueprint and snippet, edited inline on the parent page.

[![Screenshot of the modules section with two modules, a text module with a textarea and a text with buttons module with both a textarea and a structure field for buttons](.github/screenshot.webp)](.github/screenshot.webp)

- Edit module fields inline on the parent page with a blocks-like UI
- Signed previews for hidden modules
- Great performance with large numbers of modules
- Robust multilanguage behaviour
- Automatic container page creation, separating modules from regular subpages
- Multiple modules sections per page
- Sensible defaults in module blueprints

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

[](#installation)

The plugin requires Kirby 5.

```
composer require medienbaecker/kirby-modules

```

Or download this repository and put it into `site/plugins/modules`.

Quick Start
-----------

[](#quick-start)

> Prefer to see everything wired up? The [moduleskit](https://github.com/medienbaecker/moduleskit) is a small, ready-to-run example site.

**1. Add a modules section** to a page blueprint:

```
# site/blueprints/pages/default.yml
title: Default Page
sections:
  modules:
    type: modules
```

**2. Create a module type** with a blueprint for its fields and a snippet for its HTML:

```
# site/blueprints/modules/text.yml
title: Text
fields:
  textarea:
    label: Text
```

```
// site/snippets/modules/text.php

```

`renderModules()` does the same and can pass extra variables into every snippet:

```
