Skip to content

Virtual pages helper kit

'en' => [
    [
        'id'      => 'some-uuid',
        'slug'    => 'slug-in-english',
        'content' => [...]
    ]
]

Opinionated boilerplate helper to make it easier to work with virtual pages in a multilingual kirby 3 setup.

Related plugins

return [
    'afbora.loader.roots' => [
        '/plugins/core',
        '/plugins/payment',
        '/plugins/shipping',
    ]
];

Plugin Loader

by Ahmet Bora

With Kirby Loader you can load plugins from multiple roots. Thus, you can simplify the management of your plugins by grouping.
// hook
'page.product.update:after' => function () {
    // your code goes here
}

Template hooks

by Ahmet Bora

Template hooks allow you to manage hooks for page and file templates more easily.
use Beebmx\KirbyDB\DB;

DB::table('users')->get();

Illuminate Database

by Fernando Gutiérrez

Use Laravel's illuminate/database package in Kirby
\Beebmx\KirbyEnv::load('main/path');

return [
    'debug'  => env('KIRBY_DEBUG', false),
    'secret' => env('SECRET_KEY'),
    'public' => env('PUBLIC_KEY'),
];

Env

by Fernando Gutiérrez

Store project credentials and variables in a .env file and access them in Kirby
monolog()->info('test-' . time()), [
    'title' => $page->title(),
    'page'  => $page->id()
]);

Monolog

by Bruno Meilick

Use Monolog to log data to files, databases, notifications and more.
plop blueprint $ pages blogpost
plop template $ blogpost
plop content "Nice!" blog blogpost
plop content _ blog blogpost
plop snippet $ slideshow

Plopfile

by Bruno Meilick

CLI tool to generate and append to various files for Kirby3 CMS using Plop.js
sections:
  redirects:
    extends: plugin-redirects3xx

Redirects

by Bruno Meilick

Setup HTTP status code redirects from within the Panel
$site->log('My message', 'error');

Log

by Bart Vandeputte

A little log utility (KLogger wrapper)
$queue = kqQueue('queuename');
$job   = kqJob([
    'foo' => 'foo',
    'bar' => 'bar'
]);

$queue->addJob($job);

Queue

by Bart Vandeputte

Enable workers in Kirby that can do tasks in the background at scheduled intervals (cron) by working through queues of jobs

Ray

by Sam Serrien

Helper tool that enables ray ( https://myray.app/) on all extendable methods.
- kirby install
- kirby install:kit
- kirby install:repo
- kirby make:blueprint
- kirby make:collection
- kirby make:command

CLI

by Kirby Team

The Kirby command line interface helps to simplify common tasks with your Kirby installations.
site
└ methods
  └ file.php
  └ page.php
  └ site.php
  └ user.php

Methods Folder

by hana+nils

Methods Folder is a plugin to automatically register local methods provided in the folder site/methods just like Kirby accepts local …
<?php foreach ($notifications as $notification): ?>
  <li>
    <?= $notification
      ->track()
      ->toReference()
      ->title() ?>
  </li>
<?php endforeach ?>

Tracker

by hana+nils

Tracker is a plugin to track content changes and create panel logs or front-end notifications in member areas.
kirbylog('Something happened', 'error');

Kirbylog

by Johann Schopplich

Zero-dependency global kirbylog() helper for any content

Logger

by Michael Scheurich

This plugin logs all actions in the panel and displays them in a separate view.
'maintenance' => true

Maintenance Mode

by Moritz Ebeling

Switch your website to maintenance mode and it will only be visible to logged in users.

MarkdownPlus

by Dieter Stokar

A small set of syntax extensions greatly expand expressiveness of Markdown. Helps where you'd need complex templates. See dedicated Doc …
// site/routes/my-awesome-route.php
use PresProg\RouteAttributes\Attributes\Get;

return #[Get('/hello')] function () {
    return '<h1>Hello world!</h1>';
};

Route Attributes

by Present Progressive

Use PHP8 attributes to define metadata for your custom routes in separate files.
class MigrationTest extends Migration
{
    public function up()
    {
        $result = Db::query(
            'ALTER TABLE `my_table`
            ADD COLUMN `test` INT DEFAULT NULL;
        ');

        if (!$result) throw Db::lastError();
    }
}

Migrations

by Markus Denhoff

Migrations management (eg. for Databases)

Sentry

by Markus Denhoff

Sentry real-time crash reporting for Kirby CMS sites

Other plugins by Bart Vandeputte