I’m trying to implement a custom menu panel | Kirby CMS but I don’t want to make the defininition on the config.php file but inside a plugin. Is this possible?
It’s a config option, not an extension, so no, options within a plugin are prefixed with the plugin name, so the call to
$menu = $kirby->option('panel.menu', [
'site',
'languages',
'users',
'system',
]);
would fail.
Why don’t you want to define it in the config? If you want to keep the config file clean, require a separate file, and define the menu there…
'panel' => [
'menu' => require 'menu.php',
],
menu.php
<?php
return [
'site',
'system',
'users',
'-',
'post' => [
'icon' => 'add',
'label' => 'New note',
'link' => 'dialogs/pages/create?parent=pages/notes&template=note',
],
];
Hi! Thanks for your answer! Yes I used the separate file like I saw on “K4 release show”.
But I think for plugins it will be really helpful that items can be added to the sidebar automatically when installing the plugin. I just remember that Retour plugin can do that on K3.x version.
I just checked the repo and from the screenshot it seems feasible. I will need to dive deeper on Retour code to see how to do this.
I used this as starting point retour-for-kirby/src/extensions/areas.php at 3bd40a5243fac3b85abbe1b09e3a5cbcaf3c5558 · distantnative/retour-for-kirby · GitHub
And it seems to work
Yes, right, but that’s another story. That example is a custom area, see
With the menu option, you define which menu entries to show/hide.