πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» We are a new team company! Learn more
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
env('APP_DEBUG');

DotEnv

by Bruno Meilick

Store project credentials and environment 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.
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');

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.
my-plugin
└── tests
    β”œβ”€β”€ roots
    β”‚   β”œβ”€β”€ blueprints
    β”‚   β”œβ”€β”€ config
    β”‚   β”œβ”€β”€ content
    β”‚   └── ...
    └── bootstrap.php

Tester

by Oblik Studio

Allows you to easily write plugin tests by automatically loading Kirby and optionally changing its roots.
// 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.

Other plugins by Bart Vandeputte