Membership form formatting

The membership form is called independently on a page via the shortcode [eme_add_member_form].

There is no default form, you need to define one by creating a template with any of the following placeholders.
Warning: if the shortcodes #_LASTNAME, #_FIRSTNAME, #_EMAIL or #_SUBMIT are not present, the form is not valid and will not be shown.

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

  • #_LASTNAME displays a text field for the name of the person.
  • #_EMAIL displays a text field for the e-mail address of the person.
  • #_PHONE displays a text field for the phone of the person.
  • #_FIRSTNAME, #_ADDRESS1, #_ADDRESS2, #_CITY, #_STATE, #_ZIP, #_COUNTRY (pretty obvious …)
  • #_SUBMIT{} displays the submit button with between the braces the text you want for the button (qtranslate compatible).
  • #_SUBMIT displays the submit button with the text you want for the button the text configured on the Settings page.
  • #_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.
  • #_RECAPTCHA (*) required if Google reCAPTCHA is configured to be used.
  • #_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”. The #_OPT_OUT option is not GDPR compliant, so it is recommended not to use it. If neither is used, “no” is taken.
  • #_MEMBERSHIPNAME displays the name of the membership
  • #_MEMBERSHIPDESCRIPTION displays the description of the membership
  • #_MEMBERSHIPPRICE displays the membership price.

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_CITY or #REQ_FIELD{xx})

Dynamic data

EME is able to ask for extra member info based on other info in the form.
This is called ‘dynamic data’ in EME terms and can be controlled when defining a membership:

The ‘Field’ parameter is to be filled out with any valid placeholder allowed in the membership form (most commonly: #_SEATS, #_SEATS{1}, etc … but you can also use other placeholders as long as they are identical to the ones used in your form definition).
The template being shown (based on the condition being valid) can contain other placeholders. However, placeholders that are considered “personal info” are not allowed (like address info and such, since those are linked to the booker, not the booking), so best is to use only custom created fields.
The ‘Grouping index’ parameter should be a unique index per condition. This is used to set/retrieve all the entered info based on this condition in the database (so once set, always keep it to the same value for that condition). Since EME shows the dynamic fields in the order they are defined here, this allows you to change the order as long as you keep the grouping index the same (in order to match with previously stored answers).
You can add multiple conditions (useful for multiseat events) and also select a template to be shown above/below the dynamic fields.
In your form, you can use #_FIELDGROUPINDEX to show the grouping index (see above) and #_FIELDCOUNTER to show the repetition count of a template (if set to “repeat”).

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