I've build a custom panel (backend) field for the Kirby CMS.
It creates a html select which shows all invisible and visible pages:
After you have copied the required files from the kirbycms-pageselect repo to your
site/panel/fields folder, you can add the new field by typing this in your blueprint file:
fields: myfield: label: My Page Select type: pageselect
Once you have selected something, the uri of the selected site will be stored in your
There are propably much better ways to write the php-part. But i think it's a good start, if you want to build something comparable.