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(11mo ago)512.2k↓37.5%[2 issues](https://github.com/Pechente/kirby-admin-bar/issues)MITPHPPHP &gt;=8.0.0

Since Nov 10Pushed 11mo 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 1mo 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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM3ODYxOTUsIm5iZiI6MTc3Mzc4NTg5NSwicGF0aCI6Ii81OTYzNDk3LzM4NDgxOTQ2OS1jMWUzMWVkZC04MWRjLTQ0MWUtODhhZi1hYjlkMmI3MThmOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMTdUMjIxODE1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDUwZDcxYTI3ODIyZTMwZDc4MzMyYWJlZWNlOTM3MTM5Nzk5ODJkNmI2MmQxNzQ0Mjk4NzlhYjU5YTY4MWYzZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.NN7SBuFcPCHz5S54pGgVoR4DbgrFDYVebtNmmipRHZ4)](https://private-user-images.githubusercontent.com/5963497/384819469-c1e31edd-81dc-441e-88af-ab9d2b718f93.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM3ODYxOTUsIm5iZiI6MTc3Mzc4NTg5NSwicGF0aCI6Ii81OTYzNDk3LzM4NDgxOTQ2OS1jMWUzMWVkZC04MWRjLTQ0MWUtODhhZi1hYjlkMmI3MThmOTMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMTdUMjIxODE1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDUwZDcxYTI3ODIyZTMwZDc4MzMyYWJlZWNlOTM3MTM5Nzk5ODJkNmI2MmQxNzQ0Mjk4NzlhYjU5YTY4MWYzZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.NN7SBuFcPCHz5S54pGgVoR4DbgrFDYVebtNmmipRHZ4)

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 85% of packages

Maintenance50

Moderate activity, may be stable

Popularity31

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity50

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

356d 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.

810219.6k3](/packages/laravelrus-sleepingowl)[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.

48447.0k](/packages/binshops-laravel-blog)[luyadev/luya-module-admin

Administration core module for all LUYA admin modules

48179.0k24](/packages/luyadev-luya-module-admin)[bnomei/kirby3-janitor

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

9339.9k2](/packages/bnomei-kirby3-janitor)[fsi/admin-bundle

FSi Admin Bundle. Admin generator for Symfony.

5849.2k7](/packages/fsi-admin-bundle)[pechente/kirby-password-guard

Kirby Password Guard

345.0k](/packages/pechente-kirby-password-guard)

PHPackages © 2026

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