Select from structure field of another page

Hi all,

i want to use the data from a structure field of a second page in a select.

  options: query
          fetch: home.categories.toStructure
          text: "{{ structureItem.text }}"
          value: "{{ structureItem.key }}"

does not work, any ideas?


You have to tell Kirby what home is…

fetch: site.find("home").categories.toStructure

same result: the selectbox shows: “{{ structureItem.text }}”
it is a child page from home: page.parent.categories.toStructure does not work ,too.

So in which page exactly is the field? You have to pass the path to the right page. If it is not in the home page, then the above will not work, of course.

And what are the fields in the structure field called?

the fields are:

          label: kex
          type: text
          label: text
          type: text

the page is in home/about

i want to get data from the home field in the home/about page.


fetch: site.index.find("home/about").categories.toStructure

Or to prevent using index

fetch: site.find('home').children.find('about').categories.toStructure

sorry… the structure field i want to get the data from is in home.
and in home/about i want to select the data from the structure field of the home page.
so: site.find(“home”). should be correct but gives the result above.

Then please post the blueprint of the home page. It doesn’t matter where you want to fetch the data but where you want to fetch it from.

this is the structure field in the home blueprint.

          label: Kategorien
          type: structure
          style: table
          required: true
              label: kex
              type: text
              label: text
              type: text
              label: Reihenfolge
              type: number

The what I originally posted above should work. But maybe your indentation for the select field is wrong.

It should look like this, i.e. with options and query on the same level in the indentation hierarchy.

  label: Select field
  type: select
  options: query
    fetch: site.find('home').categories.toStructure
    text: “{{ structureItem.text }}”
    value: “{{ structureItem.key }}”

In the future, could you please wrap blocks of code within 3 backticks on a new line before and after the code block.

1 Like


lol it works with your code. It was my blueprint formatting. And yes i’ll wrap the code.
thanks for your help!