PHPackages                             pechente/kirby-admin-bar - 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. [Admin Panels](/categories/admin)
4. /
5. pechente/kirby-admin-bar

ActiveKirby-plugin[Admin Panels](/categories/admin)

pechente/kirby-admin-bar
========================

Kirby Admin Bar

2.2.4(1y ago)532.8k↓18.8%[2 issues](https://github.com/Pechente/kirby-admin-bar/issues)MITPHPPHP &gt;=8.0.0

Since Nov 10Pushed 1y ago5 watchersCompare

[ Source](https://github.com/Pechente/kirby-admin-bar)[ Packagist](https://packagist.org/packages/pechente/kirby-admin-bar)[ Docs](https://github.com/Pechente/kirby-admin-bar)[ RSS](/packages/pechente-kirby-admin-bar/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (2)Versions (12)Used By (0)

Kirby Admin Bar
===============

[](#kirby-admin-bar)

Kirby Admin Bar provides a simple admin bar for your frontend. It allows logged-in users to quickly edit the current page and navigate to other important pages of the panel.

[![](https://private-user-images.githubusercontent.com/5963497/384819469-c1e31edd-81dc-441e-88af-ab9d2b718f93.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMxODM3MjYsIm5iZiI6MTc4MzE4MzQyNiwicGF0aCI6Ii81OTYzNDk3LzM4NDgxOTQ2OS1jMWUzMWVkZC04MWRjLTQ0MWUtODhhZi1hYjlkMmI3MThmOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDRUMTY0MzQ2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWEzMzQwOGUzZGVkMzNlYTJmZjVmNDVmNWMwNzU1MTRmZmE4OTBmYTRkZWI2Zjg3OThhZWMzZTMzODhjOWE0YSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.5-mE30CvojpPzKjDH9YKGSPqDelqOuXcsgZqpYgjOEE)](https://private-user-images.githubusercontent.com/5963497/384819469-c1e31edd-81dc-441e-88af-ab9d2b718f93.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMxODM3MjYsIm5iZiI6MTc4MzE4MzQyNiwicGF0aCI6Ii81OTYzNDk3LzM4NDgxOTQ2OS1jMWUzMWVkZC04MWRjLTQ0MWUtODhhZi1hYjlkMmI3MThmOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDRUMTY0MzQ2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWEzMzQwOGUzZGVkMzNlYTJmZjVmNDVmNWMwNzU1MTRmZmE4OTBmYTRkZWI2Zjg3OThhZWMzZTMzODhjOWE0YSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.5-mE30CvojpPzKjDH9YKGSPqDelqOuXcsgZqpYgjOEE)

Please note that this plugin might disable Kirby staticache since it renders different content for logged-in users and guests.

---

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

[](#installation)

### Download

[](#download)

Download and copy this repository to `/site/plugins/kirby-admin-bar`.

### Git submodule

[](#git-submodule)

```
git submodule add https://github.com/pechente/kirby-admin-bar.git site/plugins/kirby-admin-bar
```

### Composer

[](#composer)

```
composer require pechente/kirby-admin-bar
```

Setup
-----

[](#setup)

Install the plugin and enable it in your config.php:

```
return [
    'ready' => function ($kirby) {
        return [
            'pechente.kirby-admin-bar' => [
                'active' => $kirby->user() !== null
            ]
        ];
    },
]
```

Enabling the plugin this way will automatically insert it before the closing body tag for logged-in users.

By default, the admin bar has a fixed position which might cause it to overlap your header / content. Kirby Admin Bar provides a CSS variable to offset your header accordingly, i.e.:

```
.header {
  position: fixed;
  top: var(--admin-bar--height, 0);
  /* ... */
}
```

Additionally, Admin Bar relies on a bunch of CSS variables that you can overwrite to customize the look:

```
:root {
  --admin-bar--font-family: -apple-system, "system-ui", "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --admin-bar--base-font-size: 14px;
  --admin-bar--base-line-height: 1.2;
  --admin-bar--height: 48px;
  --admin-bar--z-index: 110;
  --admin-bar--avatar-size: 32px;
  --admin-bar--border-radius: 4px;
  --admin-bar--position: fixed;
  --admin-bar--padding: 0 16px;
  --admin-bar--icon-size: 18px;
  --admin-bar--dropdown-border-radius: 4px;
}
```

### Dealing with virtual pages

[](#dealing-with-virtual-pages)

The edit link will not work for virtual pages. In these cases, you can disable the edit button by returning the field `disableEditButton` from the page, i.e.:

```
'routes' => [
    [
        'pattern' => 'virtual',
        'action' => function () {
            return Page::factory([
                // ...
                'content' => [
                    // ...
                    'disableEditButton' => true, // Will disable the edit button
                ]
            ]);
        }
    ]
]
```

Sometimes however, your virtual page is being fed by another page like a settings page. In this case, you can overwrite the URL of the edit link instead of disabling it completely, like so:

```
'routes' => [
    [
        'pattern' => 'virtual',
        'action' => function () {
            return Page::factory([
                // ...
                'content' => [
                    // ...
                    'panelUrl' => Panel::url('settings') // Set a custom link here - could even be an external URL
                ]
            ]);
        }
    ]
]
```

Both `panelUrl` and `disableEditButton` are read as page fields and can therefore even be created as regular fields in a blueprint so can fill them out through the panel or create them as pre-filled hidden fields.

License
-------

[](#license)

[MIT License](LICENSE.md)

Credits
-------

[](#credits)

- [René Henrich](https://github.com/Pechente)

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance46

Moderate activity, may be stable

Popularity31

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% 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 ~20 days

Recently: every ~12 days

Total

11

Last Release

404d ago

Major Versions

1.0.1 → 2.0.02024-11-12

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5963497?v=4)[René Henrich](/maintainers/Pechente)[@Pechente](https://github.com/Pechente)

---

Top Contributors

[![Pechente](https://avatars.githubusercontent.com/u/5963497?v=4)](https://github.com/Pechente "Pechente (24 commits)")[![fvsch](https://avatars.githubusercontent.com/u/243601?v=4)](https://github.com/fvsch "fvsch (4 commits)")

---

Tags

adminfrontendkirby-pluginkirby-cmskirby5panelkirby4

### Embed Badge

![Health badge](/badges/pechente-kirby-admin-bar/health.svg)

```
[![Health](https://phpackages.com/badges/pechente-kirby-admin-bar/health.svg)](https://phpackages.com/packages/pechente-kirby-admin-bar)
```

###  Alternatives

[laravelrus/sleepingowl

Administrative interface builder for Laravel.

803222.7k3](/packages/laravelrus-sleepingowl)[grommasdietz/kirby-blueprint-areas

Add custom Panel areas via blueprints on Kirby CMS

211.2k](/packages/grommasdietz-kirby-blueprint-areas)[medienbaecker/kirby-modules

Easily add modules to your pages

895.5k1](/packages/medienbaecker-kirby-modules)[binshops/laravel-blog

Simple blog package (with admin panel) for Laravel. Includes all views, controllers, routes and can add a blog to any existing Laravel app. Fully customisable blog (view, urls, and many other options). Includes image uploads and a pretty admin interface to manage your blog. Defaults to /blog but you can change it to anything.

48651.4k](/packages/binshops-laravel-blog)[bnomei/kirby3-janitor

Kirby Plugin for running commands like cleaning the cache from within the Panel, PHP code or a cronjob

9342.8k2](/packages/bnomei-kirby3-janitor)[belugadigital/kirby-navigation

Kirby 5 field for hierarchical menus with drag &amp; drop level indentation.

8614.7k](/packages/belugadigital-kirby-navigation)

PHPackages © 2026

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