Contact module
Contact is a module for building a Contact Us page with an inquiry form configured however you like, and handling the submissions in the admin screen. When an inquiry comes in, a notification email goes to the administrator and an auto-reply goes to the submitter. Replies are also written in the admin screen and sent by email.
Contact is in beta. Features and data structures may change, so we recommend trying it in a test environment before using it on a live service.
Installation
- Install the Contact module from the store.
- Go to Admin > Contact and you will see five tabs: Submissions · Page management · Form management · Permissions · Settings.
- Create an inquiry page in Page management, then build the form for that page in Form management.
- Change status — New · In progress · Done · On hold
- Send reply email — Write a subject and body and an email goes to the submitter. Even if sending fails, it stays in the history
- Leave a note — An internal record that is not sent by email
- Members see their own submissions automatically.
- Guests get a lookup password at submission, and later view them after verifying themselves with email + password.
Creating a page
Each page is one intake channel. To split channels by department, create multiple pages.
In Admin > Contact > Page management > Create page, set the following.
| Item | Description |
|---|---|
| Address (URL) | Value appended to the site address. Must start with a letter and use only letters · numbers · underscores |
| Browser title | Title shown in the browser tab and search results |
| Submitter self-lookup | When on, a lookup password is collected at submission and submitters can view the processing status. When off, it works as a one-way Contact Us |
| Use file attachments | Allows file fields in forms |
| List count | Number of items per page on the submitter self-lookup screen |
| Layout · skin | Set separately for PC · mobile. Using the default follows the site settings |
The list shows each page's form count and submission count (including new ones). Copy moves only the settings and form configuration to a new page and does not bring over submissions. Deleting a page removes all of its forms · submissions · attachments.
Forms and fields
Create a form in Form management > Add form and fill it with fields. If a page has multiple forms, form selection tabs appear at the top of the inquiry page. When someone enters the page without specifying a form, the form checked "Use as default form" opens.
Each card is one input field. Only Display name and Input type are required; the rest can be left empty.
| Field | Meaning |
|---|---|
| Display name | Field name visitors see (e.g., mobile number) |
| Input type | One of the 11 types below |
| Save as submitter info | Also saves this value as submitter info (name · email · phone · subject) |
| Required | Submission is blocked if empty |
| Options | Appears for dropdown · single choice · multiple choice. One per line |
| Internal name | Auto-generated if empty. Becomes the column name in CSV downloads |
| Placeholder | Faint hint text shown inside the input field |
| Help text | Small description below the input field |
Internal name · placeholder · help text are collapsed under "Advanced settings".
11 input types
Single-line text, multi-line text, email, phone number, number, date, dropdown, single choice, multiple choice, file attachment, consent.
For consent fields, the "Options" field becomes "Terms text". The text you enter is displayed in a scroll box with a consent checkbox below it. With Required turned on, the form can only be submitted after consenting.
Save as submitter info
These values are used for the name · email · phone columns in the submission list and for sending emails. At least one field must be assigned the email role for auto-replies and reply emails to be sent. When a member submits, empty name · email values are filled from the member's information.
If no field is assigned the subject role, the beginning of the first text field is trimmed and used as the list title.
Email notifications
Turn three options on or off per form. Sending uses the engine's mail feature as is. Even if sending fails, the submission itself is processed normally.
| Notification | Recipient | When |
|---|---|---|
| Submission notification | Administrator (multiple recipient addresses allowed) | As soon as an inquiry comes in |
| Auto-reply | Submitter | As soon as an inquiry comes in |
| Reply email | Submitter | When the administrator writes and sends a reply |
If the recipient address is empty, it goes to the default recipient address in Admin > Contact > Settings. Placeholders can be used in the subject and body of auto-reply · reply emails.
| Placeholder | Value |
|---|---|
{name} | Submitter name |
{email} | Submitter email |
{title} | Inquiry subject |
{form} | Form name |
{date} | Submission date and time |
{site} | Site name |
Managing submissions
In the submission list, filter by status · form and search by name · email · phone · content. CSV download builds columns from the fields that actually appear, so older submissions are included even after you edit the form.
There are three things you can do on the detail screen.
Replies are not shown on the website and are sent only by email. When you send the first reply, the status automatically becomes In progress (items already set to Done · On hold are left as is).
Submitter self-lookup
Works when turned on in the page settings.
This screen shows only the submission content and processing status. Replies are delivered only by email. With shared PCs in mind, the "Clear verification" button clears the verified state.
When off, only the inquiry page and completion screen remain, making it a one-way Contact Us.
Permissions
Set per page in the Permissions tab. It handles the same values as the permission settings in the sitemap.
| Permission | If blocked |
|---|---|
| View inquiry page | Blocked as soon as the page is entered |
| Send inquiry | The form is visible but submission is rejected |
| View my inquiries | The self-lookup screen won't open |
Choose from Everyone · Members · Guests · Administrators · Specific groups. To use it as a members-only inquiry channel, set the first two permissions to Members.
Attachments and spam prevention
Attachments are stored in the engine's file module. In Admin > Contact > Settings, set the maximum size per file · number per submission · allowed extensions.
Spam prevention is turned on per form. For guest submissions only, it filters out automated submissions by checking an input field invisible to humans and the time elapsed since the form was opened. No need to sign up for an external service or obtain keys.
All Settings tab items
| Item | Description |
|---|---|
| Sender email · sender name | If empty, the site's default sender address is used |
| Default recipient address | Address used when no recipient address is set on the form (comma-separated) |
| Notification email prefix | Text prepended to the subject of administrator notification emails |
| Include submission in reply email | Appends the original inquiry below the reply |
| Maximum size per attachment (MB) | |
| Attachments per submission | |
| Allowed extensions | Comma-separated |
Skin
One default skin is installed along with the module and it is responsive. If you use the Heritage theme, the Contact skin included in the theme is applied automatically, so it matches the theme's colors · corners.
Skin files are in modules/contact/skins/default/, and there are four screens.
| File | Screen |
|---|---|
form.html | Inquiry form |
complete.html | Submission complete |
my_list.html | My inquiries (including self-verification) |
my_view.html | Submission details |
Common issues
Auto-replies aren't sent — Check that the form has a field assigned the email role and that auto-reply is on. Without the submitter's email, there is nowhere to send it.
Administrator notifications don't arrive — Check whether the form's recipient address or the default recipient address in settings is empty. If both are empty, nothing is sent.
Contact doesn't appear in the sitemap — Right after installation, you need to run the Contact update once in Admin > Modules for it to be registered in the sitemap list. Pages created in the Page management tab can be made without this step.
After editing the form, older submissions still show the old field names — Field names at the time of submission are saved along with them. Past inquiries keep the names that were shown back then.