mage2kishan/module-advanced-contact-us

Advanced Contact Us Page - Custom fields, bot protection, submission management, email notifications

Maintainers

Package info

github.com/mage2sk/module-advanced-contact-us

Type:magento2-module

pkg:composer/mage2kishan/module-advanced-contact-us

Statistics

Installs: 35

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.5 2026-06-18 09:21 UTC

This package is auto-updated.

Last update: 2026-06-18 09:22:11 UTC


README

Magento 2 Advanced Contact Us: AJAX Form, Custom Fields, Anti-Spam and Submission Grid

Magento 2.4.4 - 2.4.8 PHP 8.1 - 8.4 Luma Live Demo & Details Packagist Upwork Top Rated Plus Website

Replace Magento 2's default contact form with a modern AJAX page. Panth Advanced Contact Us adds unlimited custom fields, silent three-layer anti-spam, a full admin submission grid with New/Read/Replied status tracking, and email notifications for both admin and customer. Built on vanilla JavaScript with no jQuery dependency.

Product page: kishansavaliya.com/magento-2-advanced-contact-us.html

Quick Answer

What is Panth Advanced Contact Us? It is a Magento 2 contact form extension that replaces the default /contact page with a vanilla JS AJAX form, stores every submission in the database, and gives admins a grid to track and respond to leads.

What does it add to my store?

  • An AJAX contact form that submits without a full page reload, with real-time client-side validation.
  • Unlimited custom fields (text, textarea, select, radio, checkbox, email, tel) to capture exactly the data you need.
  • Three-layer anti-spam using a honeypot field, a time-based trap, and per-IP rate limiting, all without CAPTCHA.
  • An admin submission grid under Panth Extensions > Contact Us > Submissions with New/Read/Replied status tracking.
  • Email notifications to admin on every submission and an optional auto-reply to the customer.

Which themes are supported? The frontend form is built on vanilla JavaScript and works on Luma and any Luma-based theme. It also renders on Hyva storefronts, though it does not use Alpine.js or Tailwind.

What does it need? Magento 2.4.4 to 2.4.8, PHP 8.1 to 8.4, and the free mage2kishan/module-core package.

Need Custom Magento 2 Development?

Get a free quote for your project in 24 hours for custom modules, Hyva themes, performance work, M1 to M2 migrations, and Adobe Commerce Cloud.

Get a Free Quote

Kishan Savaliya

Top Rated Plus on Upwork

Hire on Upwork

100% Job Success • 10+ Years Magento Experience Adobe Certified • Hyva Specialist

Panth Infotech Agency

Magento Development Team

Visit Agency

Custom Modules • Theme Design • Migrations Performance • SEO • Adobe Commerce Cloud

Visit our website: kishansavaliya.com  |  Get a quote: kishansavaliya.com/get-quote

Table of Contents

Who Is It For

  • Stores that lose leads because contact emails land in spam or get buried in inboxes with no tracking. Every submission is saved to the database.
  • Merchants who need more than name and message on the contact form. You can add dropdowns, checkboxes, phone fields, inquiry-type radios, and more without custom code.
  • Sites getting hit by contact form spam and do not want to burden real customers with a CAPTCHA. The three-layer silent spam filter handles it automatically.
  • Teams that need workflow tracking across multiple staff members. The New/Read/Replied status system keeps everyone on the same page.
  • Luma storefronts that want a faster, AJAX-submitted contact page with no full page reload.

Key Features

Modern AJAX Contact Form

  • Vanilla JavaScript AJAX submission with no jQuery dependency and no full page reload.
  • Real-time client-side validation for required fields, email format, and phone format.
  • Logged-in customer auto-fill populates name and email for authenticated users automatically.
  • Contact info sidebar to display your email, phone, address, and business hours next to the form.
  • Configurable page title and success message so you can match your store's tone.
  • Toggleable phone and subject fields, each with an independent required flag.

Unlimited Custom Fields

  • Seven field types: text, textarea, select, radio, checkbox, email, and tel.
  • Per-field settings for label, placeholder, required status, and options.
  • Comma-separated options for select, radio, and checkbox fields.
  • JSON storage in the panth_contact_submission table so no schema change is needed when you add fields.
  • Admin view rendering shows each custom field with its label in the submission detail and email notifications.

Three-Layer Anti-Spam

  • Honeypot field: a hidden input that real users never see. If a bot fills it, the submission is dropped silently.
  • Time-based trap: the server checks how long the form took to fill. Submissions faster than the configured threshold (default 2 seconds) are rejected.
  • IP rate limiting: caps submissions per IP per rolling hour window (default 5). Exceeding the limit returns a friendly message; no real customer is locked out for long.
  • No CAPTCHA friction: real customers never see a challenge.

Admin Submission Grid

  • Dedicated grid at Panth Extensions > Contact Us > Submissions.
  • Full filtering and sorting by name, email, subject, status, and date.
  • Three-state status: New (orange), Read (blue), Replied (green). Submissions flip to Read automatically when opened.
  • Bulk actions for mass delete and mass status change.
  • Export to CSV and XML using Magento's standard grid export.
  • Custom field values displayed in the submission detail view.

Email Notifications

  • Admin notification sent to the configured recipient on every successful submission, with name, email, phone, subject, message, custom fields, and a direct admin link.
  • Customer auto-reply (optional) sent immediately after submission to confirm receipt and set expectations.
  • Reply-To set to customer email so one click in your mailbox goes straight to the customer.
  • Sender identity selection from General, Sales, Support, or Custom, matching your store's email addresses.
  • Editable email templates at Marketing > Email Templates.

Quality and Security

  • CSRF-protected: Magento form key validation on every submission.
  • XSS-safe output: all stored values are escaped on render.
  • SQL-injection-safe: uses Magento's standard repository and collection pattern.
  • MEQP-style code: constructor dependency injection only, no ObjectManager.
  • Translation ready: every user-facing string uses Magento's __() function.

Compatibility

Requirement Versions Supported
Magento Open Source 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8
Adobe Commerce 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8
Adobe Commerce Cloud 2.4.4 to 2.4.8
PHP 8.1.x, 8.2.x, 8.3.x, 8.4.x
MySQL 8.0+
MariaDB 10.4+
Luma Theme Native support (vanilla JS)
Required Dependency mage2kishan/module-core (free)

Installation

Composer Installation (Recommended)

composer require mage2kishan/module-advanced-contact-us
bin/magento module:enable Panth_Core Panth_AdvancedContactUs
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush

Panth_Core is pulled in automatically as a Composer dependency.

Manual Installation via ZIP

  1. Download the latest release from Packagist or from the product page.
  2. Extract it to app/code/Panth/AdvancedContactUs/ in your Magento install.
  3. Make sure Panth_Core is installed too (required dependency).
  4. Run the commands above starting from bin/magento module:enable.

Verify Installation

bin/magento module:status Panth_AdvancedContactUs
# Expected: Module is enabled

After install, visit /contact on the frontend. You should see the new AJAX form. In admin, the new menu entry is at:

Admin -> Panth Extensions -> Contact Us -> Submissions

Configuration

Go to Stores -> Configuration -> Panth Extensions -> Advanced Contact Us.

General Settings

Setting Group Default Description
Enable Module General Yes Master toggle. When off, Magento's native contact form is used.
Page Title General Contact Us Heading shown on the contact page.
Success Message General (default text) Inline confirmation shown after successful submission.
Show Contact Info Sidebar General Yes Show the sidebar with email, phone, address, and business hours.

Contact Info Sidebar

Setting Group Default Description
Email Address Contact Info (empty) Public contact email shown in the sidebar, click to email.
Phone Number Contact Info (empty) Public phone number, click to call.
Address Contact Info (empty) Physical or mailing address, multi-line.
Business Hours Contact Info (empty) Plain text operating hours.

Form Fields

Setting Group Default Description
Show Phone Field Form Fields Yes Display the phone input on the form.
Phone Required Form Fields No Make the phone field mandatory.
Show Subject Field Form Fields Yes Display the subject input.
Subject Required Form Fields No Make the subject field mandatory.
Custom Fields Form Fields (none) Dynamic row grid to define unlimited custom fields.

Email Settings

Setting Group Default Description
Admin Notification Email Email Settings (store email) Where admin notifications are sent on each submission.
Sender Email Identity Email Settings General Sender used for outgoing emails: General, Sales, Support, or Custom.
Send Customer Confirmation Email Settings No Send an auto-reply to the customer after successful submission.

Bot Protection

Setting Group Default Description
Enable Honeypot Bot Protection Yes Add a hidden trap field that only bots fill.
Enable Rate Limiting Bot Protection Yes Limit submissions per IP address per hour.
Max Submissions Per Hour (per IP) Bot Protection 5 Reject IPs that exceed this count in a rolling hour.
Minimum Form Fill Time (seconds) Bot Protection 2 Reject submissions faster than this threshold.

How It Works

  1. The module registers a route that handles the /contact page, replacing Magento's default contact controller.
  2. On page load, the form captures a timestamp and a honeypot field is rendered hidden via CSS.
  3. On submit, vanilla JavaScript sends the form data over AJAX to the Post controller.
  4. The server checks all three anti-spam layers in order: honeypot, time elapsed, and IP rate limit. Any failure returns a silent rejection.
  5. If the submission passes, it is saved to the panth_contact_submission table with status New and the admin notification email is sent.
  6. If customer confirmation is enabled, an auto-reply is sent to the customer's email address.
  7. The admin opens Panth Extensions > Contact Us > Submissions to view, filter, sort, and update the status of each record.

FAQ

Does this replace Magento's native contact form?

Yes. When the module is enabled, the /contact URL is handled by Panth Advanced Contact Us and the stock Magento_Contact form is bypassed. Disable the module to go back to the native form without any data loss.

Does it work on Hyva themes?

The frontend form is built on vanilla JavaScript, not Alpine.js or Tailwind. It will render and submit correctly on a Hyva storefront, but it does not use Hyva's component system or theme styles. The admin grid and backend logic work the same on any theme.

Will it conflict with reCAPTCHA?

No. Panth Advanced Contact Us uses its own silent anti-spam. You can also leave Magento's native reCAPTCHA on the contact form enabled for an extra layer. The module respects the standard reCAPTCHA hook.

Can I export submissions?

Yes. The admin grid supports Magento's standard Export to CSV and XML action. Select submissions and choose Export from the mass-action dropdown.

How are custom field values stored?

All custom field values are saved as JSON in the custom_fields column of the panth_contact_submission table. The admin submission detail page reads and renders each field with its label. The admin email notification also includes the custom field values.

Can I add a file upload field?

Not in this module. For file attachments on the contact form, a small extension plugin can be added on top of the base module.

How do I customize the form layout?

Copy the template from view/frontend/templates/form.phtml to your theme at app/design/frontend/<Vendor>/<theme>/Panth_AdvancedContactUs/templates/form.phtml and edit it. The form uses plain CSS with no build step required.

Does it support multi-store setups?

Yes. All settings respect Magento's scope hierarchy: default, website, and store view. Every user-facing string uses Magento's __() translation function, so you can translate it with a i18n/<locale>.csv file.

Does it need Panth Core?

Yes. mage2kishan/module-core is a free required dependency. Composer installs it for you automatically.

Support

Channel Contact
Product Page kishansavaliya.com/magento-2-advanced-contact-us.html
Email kishansavaliyakb@gmail.com
Website kishansavaliya.com
WhatsApp +91 84012 70422
GitHub Issues github.com/mage2sk/module-advanced-contact-us/issues
Upwork (Top Rated Plus) Hire Kishan Savaliya
Upwork Agency Panth Infotech

Response time: 1-2 business days.

Need Custom Magento Development?

Looking for custom Magento module development, Hyva theme work, store migrations, or performance tuning? Get a free quote in 24 hours:

Get a Free Quote

Hire on Upwork    Visit Agency    View Product Page

About Panth Infotech

Built and maintained by Kishan Savaliya (kishansavaliya.com), a Top Rated Plus Magento developer on Upwork with 10+ years of eCommerce experience.

Panth Infotech is a Magento 2 development agency that builds high quality, security focused extensions and themes for both Hyva and Luma storefronts. The extension suite covers SEO, performance, checkout, product presentation, customer engagement, and store management, with each module built to MEQP standards and tested across Magento 2.4.4 to 2.4.8.

Browse the full extension catalog on our Magento extensions page or on Packagist.

Quick Links

Resource Link
Product Page magento-2-advanced-contact-us.html
Packagist mage2kishan/module-advanced-contact-us
GitHub mage2sk/module-advanced-contact-us
Website kishansavaliya.com
Free Quote kishansavaliya.com/get-quote
Upwork (Top Rated Plus) Hire Kishan Savaliya
Upwork Agency Panth Infotech
Email kishansavaliyakb@gmail.com
WhatsApp +91 84012 70422

Ready to give your contact page a proper upgrade?
See Advanced Contact Us

SEO Keywords: magento 2 contact form, magento 2 advanced contact us, magento 2 ajax contact form, magento 2 contact form extension, magento 2 custom contact fields, magento 2 contact us page, magento 2 contact form with custom fields, magento 2 contact submissions grid, magento 2 contact form database storage, magento 2 contact form spam protection, magento 2 honeypot contact form, magento 2 contact form rate limit, magento 2 contact form no captcha, magento 2 contact form without recaptcha, magento 2 replace default contact form, magento 2 contact form vanilla javascript, magento 2 luma contact form, magento 2 contact form email notification, magento 2 contact form auto reply, magento 2 contact form admin grid, magento 2 contact form status tracking, magento 2 contact form bulk actions, magento 2 contact form gdpr, magento 2 lead capture form, magento 2 inquiry form extension, panth advanced contact us, panth infotech contact form, mage2kishan advanced contact us, magento 2.4.8 contact form, php 8.4 magento contact, hire magento developer upwork, top rated plus magento freelancer, kishan savaliya magento, panth infotech magento, custom magento development, magento 2 contact form module