Categorising CMS collections by year

(I’ve scoured the forums and can’t see anything particular to this specific problem)


I think my brain’s stopped working…I’m trying to categorise a collection list as per the example below.

Everything’s working well, except I can’t work out how to just have one title per section - I.e only one showing of the year as shown in the screenshot…I can get it so there’s a title over each card, but not for only the yearly section.

As you’ll see, at the moment, I’m making a collection list for each year, using filters/conditions, and having a header that sits outside the collection list. I can get it so each card has a title of the year if I put that header inside the collection item, but can’t seem to do it as a single section header. …what I want is to only use one collection list, where the yearly title is generated automatically.

I’ve figured out a couple of work arounds:

  • One is as shown; make a number of collection lists with conditions about visibility (which I then need to also somehow apply to the title that sits outside of the collection (I’d need to work that out)), but this seems a work around rather than how it should work…
  • Another is to use a multi reference field in a separate collection list, which references all the content - but this will require the user to input details into two collection lists when they add something; which I don’t want as that’s a hassle to a user.

Do any of you geniuses know how to make this work in a more simple way? I feel like I’m missing something obvious and my brain just isn’t working…

Here is my public share link:

I normally approach this type of situation using custom javascript. However that’s a bit more advanced since it involves element cloning.

Another approach is to have a years collection and then each of your cards has a single ref to one of those years. You generate two collection lists, one styled for your headings, one for your cards, and then use Finsweet’s CMS Nest to combine them.

hmmm…maybe I’m not being as stupid as I thought then…That surprises me! And what surprises me even more is that this isn’t achievable as standard!

The java is probably beyond me and my brain today! but i’ll definitely check out the Finsweet CMS Nest thing as that’s how I’ve set my collections up - thanks Michael :slight_smile:

Ha yes it feels like it should be simple.

Webflow’s “simple” approach to this is to create a Year table with a multi-ref field to your Cards. Then, populate that field. But there are limitations and downsides to this;

  • Limit of 5 nested items
  • Forced fixed ordering of items
  • No ability to sort and filter the nested lists

It works in a pinch if those limitations are okay though.

Am I right in thinking that doing it that way would mean a user would:
Fill out one CMS collection (in my case “Transactions”)
Open a second CMS collection (in my case “Years”), create a new entry and pick from the previously created CMS record from a reference field

(What I’ve done (as the finsweet one didn’t seem to allow animations to work) is place 20 collections on a page, which takes me up to 2030…hopefully by 2030, there’s a more simple way ;))

Hey Phil not sure what you mean by “fill out”. Users don’t fill out CMS collections. They are a data source that feeds into your page design.

ah sorry! yes, i wasn’t clear at all there…when i said users, i actually meant the person who would write a blog article for the website and publish it; so not actual users of the website, but users of the CMS collection to produce articles

In the multi-ref approach, yes your editors would first create the Transaction, and then need to go to the Year record and add it to the multi-ref.

Finsweet’s CMS nest should allow interactions to work fine, but if you’re creating new elements, you probably need to re-initialize interactions after nest completes. It may even have an attribute to do that automatically.

Got it thanks - just checking i wasn’t assuming something incorrectly :slight_smile:
Thanks again :slight_smile: