You can collect custom field data from customers when they're checking out, but sometimes you may want to collect custom data at another time or on a specific page on your site. To do this you just need to create a custom form and then include a SmartTag for each custom field you want to collect data for:


[MM_Form type='custom']
    [MM_Form_Message type='error']
    [MM_Form_Message type='success']

    Gender: [MM_Form_Field type='custom' id='10' isRequired='true']
    Age: [MM_Form_Field type='custom' id='14' isRequired='false']

    [MM_Form_Button type='submit' label='Submit' color='green']
[/MM_Form]


When the custom form is loaded, MemberMouse will render each custom field based on the custom field configuration. The MM_Form_Message SmartTags will output relevant success and error messages after the form has been submitted. These SmartTags are optional.


Note: Only logged in members can submit data via custom forms.



Chaining Custom Forms Together


By default, when a custom form is submitted, the member is returned to the same page and displayed a success message. If you prefer to have the member redirected to another page after successfully submitting the form, just use the onSuccess attribute as follows:


[MM_Form type='custom' onSuccess='http://yourdomain.com/step-2']
    ....
[/MM_Form]


When the form is configured this way, members will be redirected to the URL http://yourdomain.com/step-2 following a successful form submission.



Follow the steps below to get the SmartTag for a particular custom field:

  1. In the MemberMouse menu, click Checkout Settings and then click on the Custom Fields tab.

  2. Locate the custom field you want to add to the checkout page in the table.



  3. Click the  button in the Form SmartTag column.

  4. In the dialog that pops up, copy the SmartTag.




  5. Paste the SmartTag anywhere between the [MM_Form type='custom'] and [/MM_Form] SmartTags in your custom form.



Custom Field SmartTag Attributes


isRequired Set the isRequired attribute to true if you want the field to be required. By default it will not be required.
class Set the class attribute to apply a custom CSS class to the field.
type Set the type attribute to custom-hidden to make this a hidden field. This would usually be use in conjunction with passing custom data to the checkout page via the URL.