Creating new pages of all items with the same field entry (not using tags)

Hey all,
Need some direction with how to approach this:

I work on an archive project where we are making pages with kirby blocks. Each of the blocks will contain a piece of media that brings a number of information [meta-data] fields with it. We are looking to create a function where the user is able to click on a piece of metadata and be linked to a page of all media items that share the same piece of metadata.

User looks at an image of the Great Sphinx pyramid, below the image specifies that it was taken in egypt and that it is part of the pyramyds collection. Both are hyperlinks. If the user clicks on egypt they go to somehting like and they see a list of all piece of media on the site with location “Egypt”.

The question is, does this have to be done with tags? I know the dynamic page creation is built into them. But it would be clearer for the editor to be able to just enter the data in properly named fields. Do we need to create some sort of tag system in the backend?

Help is appreciated, thanks in advance.

Just to clarify:

This metadata item the user is supposed to click on is shown in the frontend, right?

So basically you want to filter all other files by metadata assigned to a given item?

And no, you don’t have to use tags, you can use a structure field if needed or separate fields.

Yes, exactly. The metadata is shown as a caption of the piece of media on the front end, kind of like a library search where you can click on author, publication date etc

Each piece of meta data would be indeed separated by single fields, one for media type, one for location etc. But I dont know how to do is to get the page to generate on click dynamically. Dont i need to pick up the mouse event? is htere interplay between PHP and JS needed? or even AJAX?

You have two options:

  • Each metadata entry is either a link to a separate search result page or to the current page with parameters. Results will show on the search result page or on the current page after reload.
  • Each metadata entry works as a button, and you trigger an AJAX request when clicked. The AJAX request returns the results, which you then load in-page without reloading or redirecting to a separate page. The AJAX request would either go to a route or to a content representation.