mage2kishan / module-dynamic-forms
Dynamic Forms module for Magento 2 - Create and manage custom forms with drag-and-drop field builder, Hyva and Luma support
Package info
github.com/mage2sk/module-dynamic-forms
Type:magento2-module
pkg:composer/mage2kishan/module-dynamic-forms
Requires
- php: ~8.1.0||~8.2.0||~8.3.0||~8.4.0
- mage2kishan/module-core: ^1.0.17
- magento/module-backend: ^102.0
- magento/module-cms: ^104.0
- magento/module-email: ^101.0
- magento/module-store: ^101.0
- magento/module-widget: ^101.0
README
Magento 2 Dynamic Forms Extension: Drag-and-Drop Form Builder with AJAX Submission (Hyva + Luma)
Build any custom form in Magento 2 without writing code. Panth Dynamic Forms gives you a drag-and-drop admin builder, 13 field types, AJAX submission, email notifications with auto-reply, a submission management grid, and a widget to embed forms on any page. Native templates for both Hyva (Alpine.js) and Luma are included.
Product page: kishansavaliya.com/magento-2-dynamic-forms.html
Quick Answer
What is Panth Dynamic Forms? It is a Magento 2 form builder extension that lets you create and manage unlimited custom forms from the admin, with a drag-and-drop field editor, 13 field types, and per-field validation rules, all without touching code.
What does it add to my store?
- A drag-and-drop form builder in the admin so you can create contact forms, survey forms, quote requests, job applications, and any other form you need.
- 13 field types including text, email, textarea, phone, number, date, select, multi-select, checkbox, radio, file upload, hidden, and WYSIWYG.
- AJAX form submission so the page does not reload on submit.
- Email notifications sent to your team, plus optional auto-reply emails sent to the submitter.
- A submissions grid in the admin where you can search, filter, and export all form data.
- A widget so you can embed any form on any CMS page, product page, or category page.
Which themes are supported? Both Hyva (Alpine.js, no jQuery) and Luma. The right template is picked automatically based on the active theme.
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.
Visit our website: kishansavaliya.com | Get a quote: kishansavaliya.com/get-quote
Table of Contents
- Who Is It For
- Key Features
- Supported Field Types
- Compatibility
- Installation
- Configuration
- How It Works
- FAQ
- Support
- About Panth Infotech
- Quick Links
Who Is It For
- Merchants who need custom forms but do not want to write code or install a developer dependency every time a new form is needed.
- B2B stores that need quote request forms with file attachments and custom fields per product line.
- Stores replacing the default Contact Us page with a branded, multi-field form that routes submissions by department.
- Marketing teams running surveys, event registrations, or feedback campaigns that need their own submission inbox in the admin.
- Hyva storefronts that want an Alpine.js form builder with no jQuery or RequireJS pulled back in.
Key Features
Drag-and-Drop Form Builder
- Visual field editor in the admin so you can add, remove, and reorder fields without code.
- Unlimited forms, each with its own identifier, title, success message, and optional redirect URL.
- Per-field configuration: label, placeholder, help text, default value, required flag, CSS class, and width (full, half, or one-third).
- Per-field validation rules: min/max length, regex pattern, email format, file MIME type, file size limit, min/max date.
- Three form usage modes: standalone page (its own URL), widget only, or both.
- CMS content blocks above and below the form, compatible with Page Builder.
13 Field Types
- Text, Email, Textarea, Phone, Number, Date, Select, Multi-select, Checkbox, Radio, File Upload, Hidden, WYSIWYG so you can build almost any form without a custom field type.
AJAX Submission
- Forms submit without a full page reload, with client-side validation feedback before the server request is sent.
- Loading button text is configurable so shoppers know the form is being processed.
- Success message is shown inline after submit, or the shopper is redirected to a URL you set.
File Upload
- Files are stored under
pub/media(directory is configurable). - MIME whitelist and max file size are enforced both globally and enforced by
Panth\Core\Security\UploadExtensionPolicyon the server side. - Executable types (php, phtml, sh, jsp, and others) are blocked by a hard deny-list independent of admin settings.
Email Notifications and Auto-Reply
- Admin notification goes to the email address set per form, with CC and BCC support.
- Auto-reply email sent to the submitter's email field, with an admin-configurable subject and body.
- Email sender identity and template are configurable per scope (default, website, store view).
Submission Management
- Admin grid at Panth Infotech > Dynamic Forms > Form Submissions with search, filter, and sort.
- Status workflow: New, Read, Replied, Closed with AJAX status updates.
- Admin notes per submission, saved by AJAX.
- Mass delete for bulk cleanup.
- Submission detail view shows every field value and uploaded file.
SEO for Standalone Forms
- Custom URL key per form (e.g.
/pages/contact-us). - Meta title, description, keywords, and robots configurable per form.
- Canonical URL tag added automatically.
- JSON-LD structured data (WebPage and ContactPage schema).
Widget for Any Page
- Drop a form into any CMS page, CMS block, product page, or category page through the standard Magento widget picker.
- Layout XML support if you prefer to embed via
<referenceContainer>. - CMS shortcode works in WYSIWYG editor too.
Hyva + Luma Ready
- Native Hyva templates built with Alpine.js and Tailwind CSS, with no jQuery or RequireJS.
- Native Luma templates using vanilla JavaScript with standard Magento CSS.
- Theme is detected automatically through
Panth\Core\Helper\Theme. - Custom colors and border radius can be set globally or pulled from Hyva's
theme-config.json.
Built to Last
- Constructor dependency injection only, no ObjectManager usage.
- CSRF-protected via Magento's form key on every submission.
- Translation ready, all labels use Magento's
__()function. - Multi-store scoped settings at default, website, and store view level.
Supported Field Types
| Field Type | Description | Key Validation Options |
|---|---|---|
| Text | Single-line input | Required, min/max length, regex |
| Email address input | Required, RFC email format | |
| Textarea | Multi-line input | Required, min/max length |
| Phone | Phone number input | Required, international format |
| Number | Numeric input | Required, min/max value |
| Date | Date picker | Required, min date, max date |
| Select | Dropdown | Required, options list, default value |
| Multi-select | Multi-choice dropdown | Required, options list |
| Checkbox | Single or multi-choice checkboxes | Required (for T&C mode) |
| Radio | Single-choice radio buttons | Required, options list |
| File Upload | File attachment | MIME whitelist, max size (MB) |
| Hidden | Hidden field with a fixed value | None |
| WYSIWYG | Rich text block (display only) | None |
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+ |
| Hyva Theme | 1.3+ (native Alpine.js support) |
| Luma Theme | Native support |
| Required Dependency | mage2kishan/module-core (free) |
Installation
Composer Installation (Recommended)
composer require mage2kishan/module-dynamic-forms bin/magento module:enable Panth_Core Panth_DynamicForms bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush
Manual Installation via ZIP
- Download the latest release from Packagist or from the product page.
- Extract it to
app/code/Panth/DynamicForms/in your Magento install. - Make sure
Panth_Coreis installed too (required dependency). - Run the commands above starting from
bin/magento module:enable.
Verify Installation
bin/magento module:status Panth_DynamicForms
# Expected: Module is enabled
After install, open:
Admin -> Panth Infotech -> Dynamic Forms -> Manage Forms
Configuration
Go to Stores -> Configuration -> Panth Extensions -> Dynamic Forms.
General Settings
| Setting | Group | Default | Description |
|---|---|---|---|
| Enable Dynamic Forms | General | Yes | Master toggle for the module. |
| Enable reCAPTCHA | General | No | Turn on Google reCAPTCHA v3 for form submissions. |
| reCAPTCHA Site Key | General | (empty) | Site key from your Google reCAPTCHA account. Shown only when reCAPTCHA is enabled. |
| reCAPTCHA Secret Key | General | (empty) | Secret key from your Google reCAPTCHA account. Shown only when reCAPTCHA is enabled. |
| Allowed File Extensions | General | (global default) | Comma-separated list of permitted extensions for file upload fields. |
| Max File Size (MB) | General | (global default) | Maximum upload size in megabytes. |
| Upload Directory | General | (default path) | Path relative to the media directory where uploaded files are stored. |
Email Settings
| Setting | Group | Default | Description |
|---|---|---|---|
| Admin Notification Template | Default | Email template for admin alerts when a form is submitted. | |
| Admin Notification Sender | General Contact | Sender identity used for admin notification emails. | |
| Auto-Reply Template | Default | Email template sent to the submitter as a confirmation. | |
| Auto-Reply Sender | General Contact | Sender identity used for auto-reply emails. |
Display Settings
| Setting | Group | Default | Description |
|---|---|---|---|
| Default Form Layout | Display | (default) | Layout style applied to new forms. |
| Show Form Title | Display | Yes | Show the form title on the frontend. |
| Show Form Description | Display | Yes | Show the form description on the frontend. |
| Use AJAX Submission | Display | Yes | Submit forms without a full page reload. |
| Loading Button Text | Display | (default) | Text shown on the submit button while the form is being submitted. |
Styling
| Setting | Group | Default | Description |
|---|---|---|---|
| Use Theme Config Colors | Styling | Yes | Pull colors from Hyva's theme-config.json instead of the fields below. |
| Primary Color | Styling | (empty) | Button and accent color. Used when theme config colors are off. |
| Error Color | Styling | (empty) | Validation error highlight color. Used when theme config colors are off. |
| Success Color | Styling | (empty) | Success state color. Used when theme config colors are off. |
| Input Border Radius | Styling | (empty) | CSS border radius for form inputs (e.g. 8px). Used when theme config colors are off. |
| Custom CSS | Styling | (empty) | Additional CSS applied to all dynamic forms on the frontend. |
Per-form email settings (admin notification email, CC, BCC, auto-reply subject and body) are configured on each form's edit page, not in system config.
How It Works
- Go to Admin -> Panth Infotech -> Dynamic Forms -> Manage Forms -> Add New Form.
- Set the form title, URL key, and success message. Choose whether the form lives on a standalone page, a widget, or both.
- Drag field types from the field palette onto the form canvas. Configure each field's label, placeholder, required flag, and validation rules.
- In the Email tab on the form, enter the admin notification address and optionally configure the auto-reply subject and body.
- Save the form.
- Embed the form on any page via the Widget UI (Content -> Widgets), via layout XML, or via a CMS shortcode.
- When a shopper submits the form, the submission is saved to the
panth_dynamic_form_submissiontable, an admin notification email is sent, and an auto-reply is sent to the shopper if enabled. - Review all submissions under Admin -> Panth Infotech -> Dynamic Forms -> Form Submissions.
FAQ
Does the form builder work on Hyva themes?
Yes. Panth Dynamic Forms ships native Alpine.js templates for Hyva, with no jQuery or RequireJS. The module reads the active theme through Panth_Core and renders the correct template automatically.
How many forms can I create?
Unlimited. Each form has its own identifier, submissions, and email settings.
Are file uploads secure?
Yes. Files go through a two-layer check: the admin-configured allowed-extensions list, and a hard deny-list in Panth\Core\Security\UploadExtensionPolicy that blocks executable types (php, phtml, sh, jsp, and more) regardless of admin settings. Files are stored in the media directory outside the web-accessible pub/media subfolder you configure.
Can I translate form labels?
Yes. All labels, placeholders, and system messages use Magento's __() function, so you can translate them from a theme or language pack.
Does it work with Magento's built-in reCAPTCHA?
The module has its own reCAPTCHA v3 integration configured in General Settings. Enable it and enter your Google reCAPTCHA site and secret keys.
Does this replace Magento's default Contact Us form?
It can. Create a form with a URL key of contact-us and embed it on your /contact CMS page via the widget. You can then disable Magento's built-in contact form module.
Can I send admin notifications to multiple addresses?
Yes. Each form has its own admin email field (separate from the global config), and it supports CC and BCC addresses.
Does it work on multi-store setups?
Yes. Global settings (extensions, file size, email templates, styling) respect Magento's scope order of default, website, and store view.
Does Panth Dynamic Forms need Panth Core?
Yes. mage2kishan/module-core is a free, required dependency that Composer installs for you automatically.
Support
| Channel | Contact |
|---|---|
| Product Page | kishansavaliya.com/magento-2-dynamic-forms.html |
| kishansavaliyakb@gmail.com | |
| Website | kishansavaliya.com |
| +91 84012 70422 | |
| GitHub Issues | github.com/mage2sk/module-dynamic-forms/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:
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, forms, 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-dynamic-forms.html |
| Packagist | mage2kishan/module-dynamic-forms |
| GitHub | mage2sk/module-dynamic-forms |
| Website | kishansavaliya.com |
| Free Quote | kishansavaliya.com/get-quote |
| Upwork (Top Rated Plus) | Hire Kishan Savaliya |
| Upwork Agency | Panth Infotech |
| kishansavaliyakb@gmail.com | |
| +91 84012 70422 |
Ready to collect customer data without writing code?
SEO Keywords: magento 2 dynamic forms, magento 2 form builder, magento 2 custom forms, magento 2 form builder extension, magento 2 contact forms, magento 2 survey forms, drag and drop form builder magento 2, magento 2 form extension, magento 2 feedback form, magento 2 quote request form, magento 2 job application form, magento 2 event registration form, magento 2 file upload form, magento 2 form widget, magento 2 form submissions, magento 2 auto reply email, magento 2 form notifications, hyva form builder, hyva dynamic forms, luma form builder, luma contact form, magento 2.4.8 form module, php 8.4 form extension, magento 2 contact us replacement, magento 2 reCAPTCHA form, magento 2 ajax form submission, magento 2 form builder free, magento 2 online form, magento 2 webform extension, panth dynamic forms, mage2kishan dynamic forms, panth infotech, hire magento developer, top rated plus upwork, kishan savaliya magento, custom magento development