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
or#_POSTAL
,#_COUNTRY
(pretty obvious …)#_BIRTHDAY_EMAIL
shows a form field (yes/no) to allow people to indicate they want an email (or not)#_BIRTHDATE
shows a calendar allowing people to indicate their birthdate#_BIRTHPLACE
shows a text field allowing people to indicate their birth place#_REMEMBERME
and#_REMEMBERME{xx}
will show a “Remember me?” checkbox if the remember-me functionality is activated in the EME settings. By default the label is “Remember me?”, but using#_REMEMBERME{xx}
you can change the label to “xx”.#_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 field if required. If required and the placeholder is not present, it will be added just before the submit button.#_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 membership form already (taking discounts into account when implemented).#_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 “no” for massmailing, #_OPT_OUT will be default select “yes”. The #_OPT_OUT option is not GDPR compliant, so it is recommended not to use it. If neither is used, “no” is taken. If logged in and the user is linked to an EME person, the current EME person preference is used in both cases.#_GDPR
shows a checkbox that needs to be checked in order for people to approve for data storage. You can use#_GDPR{xx}
to add ‘xx’ as a label to the checkbox.#_SUBSCRIBE_TO_GROUP{xx}
(with ‘xx’ being the name or id of a group) shows a checkbox that indicates people want to be added to the mentioned group. You can use#_SUBSCRIBE_TO_GROUP{xx}{yy}
to add ‘yy’ as a label to the checkbox. The group mentioned must be configured to be a “publoc” group.#_MEMBERSHIPNAME
displays the name of the membership#_MEMBERSHIPDESCRIPTION
displays the description of the membership#_MEMBERSHIPPRICE
displays the membership price.#_MEMBERSHIPPRICE_NO_VAT
returns the membership price, VAT excluded#_MEMBERSHIPPRICE_VAT_ONLY
returns the VAT part of the membership price#_MEMBERSHIPPRICE_VAT_PCT
returns the VAT percentage applied to the membership
Memberships also have the notion of family relationships (where only the main family member will be charged and get reminders, the rest are added as related members). #_FAMILYCOUNT
and #_FAMILYMEMBERS
are membership placeholders that allow to ask how many family members there are and where the data should be rendered in the form (these only work if the membership is configured to ask for family member info).
The membership definition has an extra setting (“Family Member Form”) that gets repeated for each family member and rendered in place of #_FAMILYMEMBERS
.
You can also use #_FAMILYCOUNT and #_FAMILYMEMBERS as placeholders in the mail for signed up members then.
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}
)
The formfields #_PHONE, #_CITY, #_ZIP or #_POSTAL, #_ADDRESS1, #_ADDRESS2, #_NAME, #_FIRSTNAME, #_BIRTHPLACE, #_BORTHDATE #_EMAIL, #_COMMENT and #_CANCELCOMMENT now have an extra argument that you can use to set the html placeholder on the field, if not used a default placeholder will be shown. Example: #_ADDRESS2{House number} will show “House number” as placeholder, while otherwise “Address line 2” will be shown as placeholder
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.
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.