ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Class/Event Registration with Store and Matrix?

July 31, 2012 11:52am

Subscribe [4]
  • #1 / Jul 31, 2012 11:52am

    We’re using EE to build online class registration (signup/register/pay/inventory with Exp:resso Store) and calendar (view all events happening on any given day). The classes are structured like this:

    Asking Questions on the EE Forums
    - Session 1 (Jan 1 (6pm - 1 hour), Jan 2 (6pm - 1 hour), Jan 3 (5pm - 2 hours))
    - Session 2 (Feb 15 (2pm - 1 hour), Feb 19 (2pm - 1 hour), Feb 23 (2pm - 1 hour), Feb 28 (2pm - 1 hour))

    HTML4 for Dummies (No Kidding!)
    - Session 1 (Jan 1 (1pm - 2 hours))
    - Session 2 (Mar 1 (1pm - 2 hours))
    - Session 3 (Jun 1 (1pm - 2 hours))

    jQuery for Life
    - Session 1 (May 5 (5pm - 3 hours))

    Ideally, each class would be a single entry, sessions would be rows in a Matrix field, and class times would be columns in said matrix field (unless you can nest a matrix within a matrix?).

    Is my proposed approach a good one? Are there any other add-ons that could make this easier? Spreading dates through ought different matrix cells sounds like it’d make building the calendar a big pain… any solutions there?

    Edit: no ExpressionEngine membership/account stuff is involved here, if that makes any difference.

  • #2 / Jul 31, 2012 12:05pm

    Steven Grant

    894 posts

    Nick,
    Seems to be the time for it.

    Been doing similar only using Cart Throb.

    At the moment, there’s an events channel with a mass of custom fields to build bespoke events, events are either free or paid but all have a capacity. Then inside we have workshops as Matrix field with capacity, times etc.

    With CT we’re passing all the reg info, chosen events etc to purchased items. Then when someone else visits the reg page, the workshops etc are running a query to see if purchased items contains any registration info for specific workshops.

    The template code isn’t the best in terms of embeds, naming conventions etc or I’d share.

    Jamie has a good article here http://jamiepittock.com/words/2012/may/01/selling-tickets-cartthrob/

    Hope that helps.

  • #3 / Jul 31, 2012 12:55pm

    Rob Allen

    3114 posts

    I’ve done something similar with Exp:resso and event bookings. Each event is an entry but I used Exp:resso’s modifier fields to specify dates/times/prices of each event occurrence - the bonus here is that you can use stock control on each event occurrence.

  • #4 / Jul 31, 2012 1:11pm

    GDmac - expocom

    350 posts

    I would go for separate channels, at least for the class_times if you want to have
    a nice calendar view with all dates and time displayed.

    I don’t know if any new sessions are possibly needed in the future,
    and what amount of fields per session do you need, like teacher, venue, pricing etc.
    Your matrix row could easily grow very wide. i would probably make sessions a separate channel too.
    (and maybe even relate them to an attendees channel 😊

  • #5 / Jul 31, 2012 1:29pm

    Thanks for the feedback so far everyone.

    From the client’s perspective, it’s going to be a mess if there are multiple channels involved; I’m still stuck on the idea of having a single Events channel, with a Matrix field called Sessions. Each row in the Matrix field is a session, and would contain column(s) for the date/times that each class takes place.

    Is there any way to put more than one date/time in a single column of a Matrix field, like, a mini or nested Matrix of some kind?

  • #6 / Jul 31, 2012 5:20pm

    GDmac - expocom

    350 posts

    mini nested matrix in a matrix?
    http://devot-ee.com/add-ons/nolan
    (be sure to test it before using on production)

  • #7 / Jul 31, 2012 5:39pm

    I looked at Nolan, but it appears to be text only.

    Once I got to thinking about doing a calendar and/or daily list of classes with multiple columns from Matrix fields from multiple entries, I realized I was barking up the wrong tree.

    The model I’ve settled on, at least for now, is to have a channel entry for each event and/or session which uses the Solspace Calendar module to manage all of the date/time stuff. It’s not super elegant, as each session will require a separate entry, but, it will actually function.

    In addition to not wanting to deal with the dates in a Matrix, it turned out that the Store add-on’s product variants can’t really be tied to a Matrix either… so there are two good reasons not to pursue that route.

    Thanks again everyone for kicking ideas around with me… needed the encouragement to break away from the single entry / class model.

  • #8 / Jul 31, 2012 7:46pm

    GDmac - expocom

    350 posts

    If you have a picky client, and/or pinnecky about multiple channels, you can always make a nice admin overview with related entries on the front-end that each link back to the publish entry form on the control panel for editing individual entries in an frameset or iFrame or even _blank window, that’s what i do.

  • #9 / Jun 13, 2013 8:33am

    Ueinfopedia

    1 posts

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases