Best practice image blocks


i am currently refactoring my image structure a little bit and have a problem to find the best way to go.

Following situation:

This is my Website/panel structure.
I have different blocks with different elements. Inside each element i have a global_page_image block where i handle all the image stuff.

Code example:

page blueprint:

        label: Modules
        type: blocks
          content__image_big: fieldsets/content__image_big <- that is for example block 1

content__image_big blueprint:

    type: blocks
    columns: 1
    max: 1
      image_global: fieldsets/subfieldsets/image_global
      image_page: fieldsets/subfieldsets/image_page <- want to remove this


    type: files
    query: site.images.filterBy('extension',  '!=', 'webp') #queries global images
    layout: list
      template: image
      parent: site # to upload to the global site images

All of this works fine at the moment, but it annoys me a little that the blocks are nested:

Is there a way to prevent that the blocks are “visually” nested without duplicating code? I love how the image block in the startkit is and would love to have a clean and easy panel like it is there.

For example i could add the image_global directly inside the content__image_big block, but if i want to make change there i have to go inside every other block where i use image_global. Any idea?



Why do you nest a block instead of doing it in the same way as in Kirby’s image block? With two image field that depend on a radio selection (and when)?

Wouldnt i then have to copy and paste the code (instead of calling the “subblock”) inside every block where i want to use images? If i then want to make a change to something related to the images i have to go inside every block where i copied the “image code”, correct?

Or is there a way to add an image to a snippet without nesting the whole thing as a subblock?