Answers.Body: <p>I assume you're using price sets because you want to allow people to register for multiple sessions on a single event page?  Have you checked out cart-style event registration?  It's not maintained by core, but there seems to be a steady flow of people who ask questions about it, so it seems like it's getting use.</p>
  
  <p>With cart-style event registration, each session is its own event, and you can dispense with price sets.</p>
  
  <p>Finally - you did some amazing work on getting price sets to fit your use case!  If you could publish your work somewhere, that would surely benefit someone.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-15T15:19:46.540Z
Answers.Text: Hey Jon -  I was using price sets because I needed the max_participants feature which is an option for price sets. I don't know any other way to do that except setting up 4 different events, which isn't very appealing, but based on what Coleman said, I'm going to explore the 4 separate events + webform option and decide between that and pricesets in the next day or so.  Whichever I do I'll post back here.
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-16T14:52:30.103Z
Answers.Text: I ended up going to with the price sets approach because I have some other custom code that is based on profiles, so webform is too big a change for me right now.  THere were some other minor issues with the webform approach -  first off, we needed a radio button (select one) not check box (select many). Also I didn't like the way full the "full" message is at the top rather than next to the event.  But those were minor.  Big issue was the custom code.
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-16T14:52:39.217Z
Answers.Text: So here's what I did:
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-16T15:11:05.330Z
Answers.Text: I'm feeling like I went the long way around here.  There must be an easier way, but this is working and you asked, so here 'tis:
  
  Set up a price set with $0 cost options, and set up an event using that price set.
  
  Modify (CRM/Event/Form/Registration|Register.tpl, ThankYou.tpl and Confirm.tpl) to allow you to know style the only for your event by adding something like crm-event-form-{$event.id} as a class to the crm-block div. (Obviously you aren't going to hack core, right?)
  
  Now style to your hearts content with liberal use of display:none to hide all the $ related stuff.
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-16T15:11:39.017Z
Answers.Text: Then edit the message template "Events - Registration Confirmation and Receipt (on-line)" using {if $event.id=#} and {if $event.id neq #} to modify the confirmation email to hide fees in your special case. 
  
  
  
  Lastly, in my case I had to deal with the validatepriceset code here: /CRM/Event/Form|Registration.php because if the user failed to select an option I got both the "you left this field blank" and the "Select at least one option from Event Fee(s)" errors so I hid the "Event Fee(s)" language for this event.
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-16T15:20:41.400Z
Answers.Text: Hey Anne - do you know about overriding an event template for a single event?  From http://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens:   
  If you want a custom version of the Register screen for an Event whose ID is 2...and your basic install and custom directory setup are the same as shown above - then your custom template copy should be saved to:
  /var/www/civicrm_custom/CRM/Event/Form/Registration/2/Register.tpl
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-16T19:19:52.613Z
Answers.Text: Hey Jon - Yep, I know that technique.  It can be very handy, although for something simple where I'm just hiding a few things like this, I don't mind doing it all in css to keep all the code in the same place - since I almost always have to do some styling at some point.  But half way through on this one, I did think "hmm" maybe I should have gone the template route, but by then I was too far in to turn back :-).  - A
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-14T16:32:14.190Z
Answers.LastActivityDate: 2015-07-14T16:32:14.190Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.Body: <p>If you're using Drupal as your CMS, then yes, the simpler solution is to set up a <a href="https://drupal.org/project/webform_civicrm" rel="nofollow">CiviCRM Webform</a> that allows people to register for one or more session (assuming that you have set up each session as a sep event).</p>
  
  <p>Sorry, this won't work in WP or Joomla.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-15T15:20:12.480Z
Answers.Text: Thanks.  Will take a look at that.  Right now it's one event with a price set, but will consider webform and decide.
Answers.UserDisplayName: ASav
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-07-14T17:11:44.320Z
Answers.LastActivityDate: 2015-07-14T17:11:44.320Z
Answers.UserDisplayName: Coleman
Body: <p>We have a free event that has several sessions with a max participant limit of 15.  I've set that up with price sets with $0.00 amounts.  It works fine, but because price sets are designed for paid events, there's a bunch of work to hide the pricing information from the user (css to hide the amounts on the registration, confirmation and thank you pages, modify the confirmation email to hide the payment sections and write a hook so Civi doesn't add the $0 contribution which is added, or tell folks to ignore those $0 contributions and delete them at some point.)</p>
  
  <p>Just wanted to make sure there isn't a better way to do this.  Any suggestions would be welcome.</p>
  
Tags: <civievent><session>
Title: Free event with sessions with max participants
ThreadText: # Free event with sessions with max participants
  
  (Asked by: username_0 on 2015-07-14)
  
  We have a free event that has several sessions with a max participant limit of 15. I've set that up with price sets with $0.00 amounts. It works fine, but because price sets are designed for paid events, there's a bunch of work to hide the pricing information from the user (css to hide the amounts on the registration, confirmation and thank you pages, modify the confirmation email to hide the payment sections and write a hook so Civi doesn't add the $0 contribution which is added, or tell folks to ignore those $0 contributions and delete them at some point.)
  
  Just wanted to make sure there isn't a better way to do this. Any suggestions would be welcome.
  
  **Tags:** civievent, session
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2015-07-14. Score: 3
  
  I assume you're using price sets because you want to allow people to register for multiple sessions on a single event page? Have you checked out cart-style event registration? It's not maintained by core, but there seems to be a steady flow of people who ask questions about it, so it seems like it's getting use.
  
  With cart-style event registration, each session is its own event, and you can dispense with price sets.
  
  Finally - you did some amazing work on getting price sets to fit your use case! If you could publish your work somewhere, that would surely benefit someone.
  
  > **Comments:**
  > **username_0**: Hey Jon -  I was using price sets because I needed the max_participants feature which is an option for price sets. I don't know any other way to do that except setting up 4 different events, which isn't very appealing, but based on what username_2 said, I'm going to explore the 4 separate events + webform option and decide between that and pricesets in the next day or so.  Whichever I do I'll post back here.  
  > **username_0**: I ended up going to with the price sets approach because I have some other custom code that is based on profiles, so webform is too big a change for me right now.  THere were some other minor issues with the webform approach -  first off, we needed a radio button (select one) not check box (select many). Also I didn't like the way full the "full" message is at the top rather than next to the event.  But those were minor.  Big issue was the custom code.  
  > **username_0**: So here's what I did:  
  > **username_0**: I'm feeling like I went the long way around here.  There must be an easier way, but this is working and you asked, so here 'tis:  Set up a price set with $0 cost options, and set up an event using that price set.  Modify (CRM/Event/Form/Registration|Register.tpl, ThankYou.tpl and Confirm.tpl) to allow you to know style the only for your event by adding something like crm-event-form-{$event.id} as a class to the crm-block div. (Obviously you aren't going to hack core, right?)  Now style to your hearts content with liberal use of display:none to hide all the $ related stuff.  
  > **username_0**: Then edit the message template "Events - Registration Confirmation and Receipt (on-line)" using {if $event.id=#} and {if $event.id neq #} to modify the confirmation email to hide fees in your special case.     Lastly, in my case I had to deal with the validatepriceset code here: /CRM/Event/Form|Registration.php because if the user failed to select an option I got both the "you left this field blank" and the "Select at least one option from Event Fee(s)" errors so I hid the "Event Fee(s)" language for this event.  
  > **username_1**: Hey Anne - do you know about overriding an event template for a single event?  From http://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens:    If you want a custom version of the Register screen for an Event whose ID is 2...and your basic install and custom directory setup are the same as shown above - then your custom template copy should be saved to: /var/www/civicrm_custom/CRM/Event/Form/Registration/2/Register.tpl  
  > **username_0**: Hey Jon - Yep, I know that technique.  It can be very handy, although for something simple where I'm just hiding a few things like this, I don't mind doing it all in css to keep all the code in the same place - since I almost always have to do some styling at some point.  But half way through on this one, I did think "hmm" maybe I should have gone the template route, but by then I was too far in to turn back :-).  - A  
  
  ---
  
  ### Answer by username_2 on 2015-07-14. Score: 2
  
  If you're using Drupal as your CMS, then yes, the simpler solution is to set up a [CiviCRM Webform](https://drupal.org/project/webform_civicrm) that allows people to register for one or more session (assuming that you have set up each session as a sep event).
  
  Sorry, this won't work in WP or Joomla.
  
  > **Comments:**
  > **username_0**: Thanks.  Will take a look at that.  Right now it's one event with a price set, but will consider webform and decide.  
  
  ---
  
  