Weird error using the page form field in blueprint

Hi there,

I’m aiming to fetch children of a page with the page field in my blueprint inside a structure field. (It’s an exhibition page that fetches participating artists).

But when I run the exhibition page in the Kirby Panel, I receive this error from the Debugger:

 Whoops \ Exception \ ErrorException (E_WARNING)
 strtolower() expects parameter 1 to be string, array given

I’m getting this error in the Debugger and not on the dialog box because I created an exhibition page before changing the blueprints. When I try to create a new one, the dialog box of the panel says the same error.

It also produces an error when I try to add an artist to the artists page.

The field cannot be extended

exhibition is a child of first-level page exhibitions.

Here’s the guilty field in the exhibition blueprint, where artists is a first-level child of the site and has artist pages as children.

  artists:
    label: Artists taking part to the show
    type: structure
      fields:
        artist:
          label: Artist
          type: select
          options: query
            query:
              page: artists
              fetch: children
              value: '{{uid}}'
              text: '{{title}}'

I’ve spent a lot of time trying to resolve this, but still I don’t see what I did misunderstood. I’m using the latest version of Kirby

There’s an indentation error in your blueprint. query should be on the same level as options:

  artists:
    label: Artists taking part to the show
    type: structure
      fields:
        artist:
          label: Artist
          type: select
          options: query
          query:
            page: artists
            fetch: children
            value: '{{uid}}'
            text: '{{title}}'
1 Like

Well, thank you, but it did not solve the problem. As recommended in an other post, I logged out and on again, still gives the error message.

I missed a second indentation error:

 artists:
    label: Artists taking part to the show
    type: structure
    fields:
      artist:
        label: Artist
        type: select
        options: query
        query:
          page: artists
          fetch: children
          value: '{{uid}}'
          text: '{{title}}'

Check out the docs: https://getkirby.com/docs/cheatsheet/panel-fields/structure

Tank you, now I can go to the exhibition page again and try to choose an artist!

But when I go to the artists page and try to add an artist, I’m still getting The field cannot be extended

Then you have to check that blueprint as well. there must be an error in there. Make sure your indentation is correct and the fields are correctly set up (field name, label etc.)

Edit; if in doubt, please post your code, I lost my crystal ball :wink:

:slight_smile: hey thanks, effectively it was a mistake in the artist blueprint, I preferred check it by myself before…

Yet, it’s weird, Notepad is telling me that this snippet of code is wrong (a new function is identified at label)

  cover:
    label: Exhibition Poster
	type: image
	translate: false

But this one is not.

  cover:
    label: Exhibition Poster
    type: image
    translate: false

And the code editor of the forum sees it! When I was working in Notepad++, the indents seem to be ok, but they aren’t. I had to rewrite it totally for getting the modifications correctly.

Maybe it’s a “ghost character lost in space”? The same actually happened in the other blueprint, my indentations were somewhat correct at first sight, but in their soul, they were not. And you could see the indent error in the forum.

So this seems to be an issue of Notepad, problem solved.

Lot of thanks for your kind assistance. Have a nice evening!

@crocutacrocuta :

I use this config (see the yellow mark: “Show All Characters”) in my Notepad++:

to avoid such problems.

Good luck!

1 Like