Registration form formatting

The registration form is called inside a single event by using the placeholder #_ADDBOOKINGFORM or independently on a page via the shortcode [eme_add_booking_form].

The registration form can be completely customized. You can define any number of fields in the “Events => Form fields” page, then go to the “Events => Settings” page and change the general layout of the registration form format. The default is:

<table class='eme-rsvp-form'>
<tr><th scope='row'>Name*:</th><td>#_NAME</td></tr>
<tr><th scope='row'>E-Mail*:</th><td>#_EMAIL</td></tr>
<tr><th scope='row'>Phone number:</th><td>#_PHONE</td></tr>
<tr><th scope='row'>Seats*:</th><td>#_SEATS</td></tr>
<tr><th scope='row'>Comment:</th><td>#_COMMENT</td></tr>
#_CAPTCHAHTML{<tr><th scope='row'>Please fill in the code displayed here:</th><td>#_CAPTCHA</td></tr>}
</table>
#_SUBMIT

You can use the standard placeholders for events AND the extra placeholders mentioned below:

  • #_NAME or #_LASTNAME (*) displays a text field for the name of the respondent.
  • #_EMAIL (*) displays a text field for the e-mail address of the respondent.
  • #_PHONE (*) displays a text field for the phone of the respondent.
  • #_HTML5_EMAIL (*) displays a html5-type input field for the e-mail address of the respondent.
  • #_HTML5_PHONE (*) displays a html5-type input field for the phone of the respondent.
  • #_FIRSTNAME, #_ADDRESS1, #_ADDRESS2, #_CITY, #_STATE, #_ZIP, #_COUNTRY (pretty obvious …)
  • #_SEATS (**) or #_SPACES (**) displays a dropdown field for the number of spaces to reserve.
  • #_SEATS{xx} (**) or #_SPACES{xx} (**) (with xx being a number): displays a dropdown field for the number of spaces to reserve for a specific price for multiprice events.
  • #_SUBMIT{} (*) displays displays the submit button with between the braces the text you want for the button (qtranslate compatible).
  • #_SUBMIT (*) displays displays the submit button with the text you want for the button the text configured on the Settings page.
  • #_COMMENT (*) displays a text area for a possible comment.
  • #_CAPTCHAHTML{...} (*) displays the html between the braces for the captcha, but only if the captcha option has been activated. Inside the braces, you should use the shortcode #_CAPTCHA to display the captcha itself, otherwise nothing will happen.
  • #_CAPTCHA (*) displays the captcha part.
  • #_FIELD{xx} (***) displays custom made fields (replace xx by the ID or the name of a field you created in the “Events => Form fields” page.
  • #_FIELDNAME{xx} (***) displays the title/name of the custom made fields (replace xx or the name by the ID of a field you created in the “Events => Form fields” page.
  • #_DYNAMICPRICE (*) shows the total price to pay in the rsvp form already (taking regular discounts into account).
  • #_DYNAMICDATA can ask for extra data based on the amount of seats booked (see below)
  • #_OPT_IN and #_OPT_OUT Both will display a yes/no choice for massmailing preferences for the person entering the form (used in e.g. the newsletter feature). #_OPT_IN will by default select “yes” for massmailing, #_OPT_OUT will be default select “no”.

For any shortcode, if you start with “#REQ_” instead of “#_”, the field becomes required and cannot be left empty or 0 upon registration (e.g.: #REQ_COMMENT or #REQ_FIELD{xx})
Warning: if the shortcodes #_NAME, #_EMAIL, #_SEATS or #_SUBMIT are not present, the form is not valid and will not be shown.
Also, #_NAME and #_EMAIL are always required fields, so no need to use #REQ_NAME or #REQ_EMAIL.

(*) When creating a multi-booking form, those with a single ‘*’ can only be used in the header/footer template
(**) When creating a multi-booking form, those with double ‘**’ can only be used in the “list entry” template
(***) When creating a multi-booking form, those with tripple ‘***’ can be used in both header/footer and “list entry” templates, however: since this only concerns the FIELD placeholders, if you use them in the header/footer templates you need to be sure that all events in the multibooking form have the same fields defined in their RSVP format, otherwise the result will be undefined and can result in bugs.

Dynamic data

EME is able to ask for extra RSVP info based on the number of seats booked.
This is called ‘dynamic data’ in EME terms and can be controlled in the RSVP section of an event:

The seat index can be left empty for regular events, or use the corresponding index of choice for multiseat events (like #_SEATS{xx} is used, xx being the number). The template can contain html and the placeholders #_FIELD and #_FIELDNAME (see above for the explanation of those 2, no other placeholders are allowed).
In essence this means, if the number of selected seats is equal or higher than the indicated value, the selected template will be shown repeatedly based on the difference between the indicated value and the actual number of booked seats.
You can add multiple conditions (useful for multiseat events) and also select a template to be shown above/below the dynamic fields.

Once you defined your seat conditions, you can choose where they will appear in your RSVP form by using the placeholder #_DYNAMICDATA . The same placeholder  can be used in mails to show people what they entered.