Why does this default page return 'No fields yet' if preset is set?

Hello,

I just worked on my project after a short pause and I’m surprised that this default.yml blueprint for my page doesn’t work as expected because it shows No fields yet in the main/middle of the draft in the panel. Can someone provide me an explanation?

title: Default Page
preset: page

columns:
  main:
    width: 2/3
    fields:
      text:
        type: textarea
        size: large
  sidebar:
    width: 1/3
    sections:
      meta:
        type: fields
        fields:
          creation_date:
            label: Creation Date
            type: date
            time: true
            default: now
            disabled: true
            required: true
          last_change_date:
            label: Last Change Date
            type: hidden
            time: true
            default: now
            disabled: true
            required: true
          author:
            type: users
            required: true
            disabled: true
          menu:
            type: checkboxes
            options:
                main: Main menu
                footer: Footer menu

If I do this without the preset: page part, it does work. It is a modified (shortened) copy of my article.yml page blueprint which works fine:

title: Article
num: '{{ page.date.toDate("Ymd") }}'
icon: 📖

status:
  draft:
    label: Draft
    text: The article is still in draft mode. It can only be seen by editors with panel access.
  unlisted:
    label: In Review
    text: The article is online and can be visited with the direct URL. The team must still give the final go to publish it.
  listed:
    label: Published
    text: The article is online and listed in the blog

columns:
  main:
    width: 2/3
    fields:
      text:
        type: textarea
        size: large
      sources:
        when:
          has_sources: true
        type: structure
        fields:
          name:
            type: text
            required: true
          retrieved_on:
            type: date
            time: true
            required: true
            default: now
  sidebar:
    width: 1/3
    sections:
      meta:
        type: fields
        fields:
          creation_date:
            label: Creation Date
            type: date
            time: true
            default: now
            disabled: true
            required: true
          last_change_date:
            label: Last Change Date
            type: hidden
            time: true
            default: now
            disabled: true
            required: true
          author:
            type: users
            required: true
            disabled: true
          tags:
            type: tags
            required: true
            max: 5
          has_sources:
            type: toggle
            label: Sources?
          menu:
            type: checkboxes
            options:
                main: Main menu
                footer: Footer menu

I think there is someone bigger wrong but it’s surprising that preset breaks it. I would expect that the preset’s fields are overriden/extended according to this example: https://getkirby.com/docs/guide/blueprints/presets#available-presets__page

Thanks for any support!

Best Regards

If you use the page preset, you can’t define columns. You can use the page preset like explained here in the docs:

You can set pages and files to false or extend them, you can set the fields and you can override the sidebar, all without using the columns keywords.

Structure:

title: Somepage
preset: page

pages:
  #…
files:
  #…

fields:
  #… 

sidebar:
  #…
2 Likes

Thanks for your quick help @texnixe! Again, you provided excellent support.

I think I’ve just confused myself while looking at the different blueprints . . . On the other hand I was relatively sure that if it’s totally wrong, I would get some kind of error (maybe we can get some error handling for cases like this). It’s quite a step forward to use Kirby 3 but it’s hard if you are used to other kinds/types of CMS’ (this statement is not directly related to this issue obviously; more generalized).