Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Multiple Grouping Levels in SS3


Go to End


2 Posts   685 Views

Avatar
purplespider

Community Member, 89 Posts

22 September 2012 at 6:47am

Edited: 22/09/2012 6:48am

I'm struggling to get multiple grouping levels working in SS3, it was very simple in SS2.

Basically I have a bunch of Event data objects, each with a Date & Title and I wish to display them in the template grouped by Year and then Month like so:

2012
	January
		Event X
		Event Y
	February
		Event Z

2013
	January
		Event A
		Event B

This was easy in SS2, I could just do this:

function Entries() {
	return DataObject::get("Entry");
}

<% control Entries.GroupedBy(Year) %>
	<p>$Year</p>
	
	<% control Children.GroupedBy(Month) %>
		<p>$Month</p>
		
			<% control Children %>
				<p>$EventTitle</p>
				
			<% end_control %>
	<% end_control %>
<% end_control %>

However in SS3, I'm struggling to get both groupings to work, I can get the Year grouping working, but not the Month one also. It's something to do with the new GroupedList.

Can someone please advise how I can achieve this in SS3?

Thanks!
James

Avatar
purplespider

Community Member, 89 Posts

5 December 2012 at 12:48am

Any advice on how to achieve this in SS3 would be much appreciated! :)