alekseon / custom-forms-builder

alekseon/custom-forms-builder

N/A

magento2-module Compatibility: 2.4.7-2.4.9 Code Quality: Fail Tests: N/A Security: Pass OSL-3.0, AFL-3.0


Custom Forms Builder
Alekseon_CustomFormsBuilder

A Custom Form Builder for Magento 2

Let you create custom forms in Admin panel

Latest Stable Version Total Downloads Travis CI build status

Installation

In your Magento2 root directory, you may install this package via composer:

composer require alekseon/custom-forms-builder  
bin/magento setup:upgrade  

Dependencies

This extension gives you possibility to create forms in admin panel. If you want to place them on frontend by CMS content, please check this extension: Alekseon_WidgetForms

Support

CJM Ver. Magento 2.0 Magento 2.1 Magento 2.2 Magento 2.3 Magento 2.4
1.x :x: :x: :white_check_mark: :white_check_mark: :white_check_mark:

Features

Create fully customized forms in Magento2 Admin Panel

Create as many forms as you need. Define the title and the fields.
You can choose from field types:

  • Text Field
  • Text Area
  • Yes/No
  • Dropdown
  • Multiple Select
  • Date
  • Image
PnzzGaj.png

Manage fields as regular attributes

Thanks to the EAV structure, you can manage every field of your form similarly to how you manage regular attribute in Magento.

Wlsrx0B.png

Add and access your form objects easily

You can view and manage the form applications by regular Magento grid

5GEypQf.png

Add Forms to CMS Pages

Please refer to Alekseon_WidgetForms if you want to be able to add these forms to CMS pages for your customers.

Email notifications

@Todo

Issue Tracking / Upcoming Features

For issues, please use the issue tracker.

Issues keep this project alive and strong, so let us know if you find anything!

We're planning on pumping out a ton of new features, which you can follow on our project page.

Development / Contribution

If you want to contribute please follow the below instructions:

  1. Create an issue and describe your idea
  2. Fork this repository
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes
  5. Publish the branch (git push origin my-new-feature)
  6. Submit a new Pull Request for review

Maintainers

Current maintainers:

See also our contributors

License

The Open Software License 3.0 (OSL-3.0)

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

Changed

Fixed

Added

[102.3.20] - 2026-04-16

  • use created_from_store_id to get form from record (used for correct form data in emails notifications)

[102.3.19] - 2026-02-19

  • frontend notes for form fields

[102.3.18] - 2025-12-02

Added

  • check field visibility to display on grid or form
  • setData and unset Data can use identifier on form record object

Changed

  • moved fieldsIdentifierMap to from object
  • removed visibility filter on fields collection (now its check during rendering field)

[102.3.17] - 2025-12-01

Added

  • add attribute code map to getData()

[102.3.16] - 2025-11-17

Fixed

[102.3.15] - 2025-07-30

Added

  • Messages Field type (for now used by Alekseon_CustomFormsEmailNotification)

[102.3.14] - 2024-11-17

Added

  • postal code validator
  • file uploader validations (moved from Alekseon_CustomFormBilder)

[102.3.13] - 2024-09-25

Fixed

  • fix getMappedAttributeCode method

[102.3.12] - 2024-05-24

Fixed

[102.3.11] - 2024-05-09

Fixed

  • make "Admin Note" translatable

[102.3.10] - 2024-02-25

Changed

  • Raplaced "Is Enabled" by "Input Visibility", it allows to set input visibility to: visible, only for admin or none

[102.3.9] - 2023-12-03

Added

  • Max Size param (for file input validator)
  • note for params

[102.3.8] - 2023-05-22

Added

  • manage form button on records view + acl permission
  • Yes/No option source
  • check if source model class exists

Fixed

  • fix for saving fields in tabs for new forms

[102.3.7] - 2023-05-09

Changed

  • code quality improvements
  • replaced install and upgrade scripts by patches

Fixed

  • hide delete massaction if no permisstion set

[102.3.6] - 2023-05-08

Changed

  • code quality improvements

[102.3.5] - 2023-05-01

Added

  • github actions
  • introduced strict_types

Fixed

  • display default label instead of store label as fieldset label
  • stay on same scope view after "save and continue" form
  • code quality improvements

[102.3.4] - 2023-04-22

Fixed

  • fixed mass delete action
  • remove image file during mass delete action

[102.3.3] - 2023-04-21

Added

  • Created From Store Id for Record entity
  • system.xml file

Fixed

  • added missing group_fields_in column to alekseon_custom_form table

[102.3.2] - 2023-03-12

Added

  • small alekseon logo
  • cache tags
  • getRecordCollection() and getRecordById() methods in Form class
  • filter,sort,select on form records collection by field identifier
  • getData from form record by field identifier

[102.3.1] - 2023-03-04

Fixed

  • removed "Options Source" input from rating and boolean fields

[102.3.0] - 2023-03-03

Added

  • possibility to disable form field
  • check if "is required" field is editable
  • scopable records grid and record edit page
  • group fields in tabs
  • added "alekseon/widget-forms-statistics" in composer

Changed

  • use ajax on grids

[102.2.3] - 2023-02-27

Added

  • notification with link to wiki

[102.2.2] - 2022-11-19

Fixed

  • fix setUp() declaration in tests

Added

  • admin note field
  • mass delete action for form records

[102.2.1] - 2022-10-22

Fixed

  • fix error during setup:upgrade for fresh installation

[102.2.0] - 2022-10-22

Added

  • form identifier
  • field identifier
  • form property in form record attribute
  • added alekseon/custom-forms-frontend requirerment to composer

Changed

  • max length validator modifications
  • moved table definition to db_schema.xml

[102.1.2] - 2022-10-13

Changed

  • chenged composer requirements
  • small fix in setup upgrade

[102.1.1] - 2022-10-12

Changed

  • attribute_code field length in DB to 255 chars

Added

  • attribute source: TextFormAttributes

[102.1.0] - 2022-10-10

Changed

  • Move new entity mail notification functionality to alekseon/custom-forms-email-notification

[102.0.8] - 2022-10-05

Added

  • compability to attribute default values

[102.0.7] - 2022-10-04

Changed

  • chenged composer requirements

[102.0.6] - 2022-09-27

Added

  • created at field for form
  • hashed images names and directory name for images (needs eav in version 101.0.11)
  • input params (needs eav in version 101.0.11)

[102.0.5] - 2022-08-02

Fixed

  • fix visibility of configuration

[102.0.4] - 2020-05-02

Added

  • csv and excel exports
  • show custome forms in adminhtml menu
  • permissions to view and save custom forms

[102.0.3] - 2020-04-14

Fixed

  • fixed issue with missing created_at column on fresh installation

[102.0.1] - 2020-04-01

Added

  • new entity notifiaction email
  • option sources for select attributes
  • form record created at column
  • record attribute variables for events

[102.0.0] - 2020-10-15

Added

  • Added compatibility with Magento 2.4.0

[101.0.0] - 2020-04-27

Added

  • init
Versions
Version Stability QA Status Compatibility Released
102.3.20 stable Fail Magento 2.4.7-2.4.9 Details 2026-04-16 15:19:01
102.3.19 stable Not tested Not yet tested Details 2026-02-19 16:10:02
102.3.18 stable Not tested Not yet tested Details 2025-12-02 15:53:35
102.3.17 stable Not tested Not yet tested Details 2025-12-01 16:13:19
102.3.16 stable Not tested Not yet tested Details 2025-11-17 13:20:51
102.3.15 stable Not tested Not yet tested Details 2025-07-31 15:51:31
102.3.14 stable Not tested Not yet tested Details 2024-11-22 15:40:31
102.3.13 stable Not tested Not yet tested Details 2024-09-25 15:36:12
102.3.12 stable Not tested Not yet tested Details 2024-05-24 14:09:52
102.3.11 stable Not tested Not yet tested Details 2024-05-09 09:05:40
102.3.10 stable Fail Magento 2.4.7 Details 2024-02-25 20:16:53
102.3.9 stable Not tested Not yet tested Details 2023-12-03 20:42:23
102.3.8 stable Not tested Not yet tested Details 2023-05-22 08:35:44
102.3.7 stable Not tested Not yet tested Details 2023-05-09 15:44:39
102.3.6 stable Not tested Not yet tested Details 2023-05-08 21:32:26
102.3.5 stable Not tested Not yet tested Details 2023-05-01 19:16:52
102.3.4 stable Not tested Not yet tested Details 2023-04-22 09:01:38
102.3.3 stable Not tested Not yet tested Details 2023-04-21 15:13:11
102.3.2 stable Not tested Not yet tested Details 2023-03-12 09:49:41
102.3.1 stable Not tested Not yet tested Details 2023-03-04 11:34:26
102.3.0 stable Not tested Not yet tested Details 2023-03-03 21:09:08
102.2.3 stable Not tested Not yet tested Details 2023-02-27 10:50:04
102.2.2 stable Not tested Not yet tested Details 2022-11-19 10:34:08
102.2.1 stable Not tested Not yet tested Details 2022-10-22 12:44:16
102.2.0 stable Not tested Not yet tested Details 2022-10-22 11:29:00
102.1.2 stable Not tested Not yet tested Details 2022-10-13 08:59:10
102.1.1 stable Not tested Not yet tested Details 2022-10-12 16:05:55
102.1.0 stable Not tested Not yet tested Details 2022-10-10 14:50:39
102.0.8 stable Not tested Not yet tested Details 2022-10-05 13:36:35
102.0.7 stable Not tested Not yet tested Details 2022-10-04 12:26:11
102.0.6 stable Not tested Not yet tested Details 2022-09-27 14:55:56
102.0.5 stable Not tested Not yet tested Details 2022-09-02 09:44:52
102.0.4 stable Not tested Not yet tested Details 2022-05-02 15:13:31
102.0.3 stable Not tested Not yet tested Details 2022-04-14 10:13:46
102.0.2 stable Not tested Not yet tested Details 2022-04-14 09:34:17
102.0.1 stable Not tested Not yet tested Details 2022-04-01 14:41:59
102.0.0 stable Not tested Not yet tested Details 2020-10-15 11:53:16
101.0.0 stable Not tested Not yet tested Details 2020-04-30 22:46:32

Requires 4

Package Constraint
alekseon/alekseon-eav ^101.2.15
alekseon/custom-forms-email-notification *
alekseon/custom-forms-frontend *
alekseon/widget-forms-statistics *

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass Pass

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Fail 255 10 errors, 245 warnings (ruleset: Magento2) — 170 auto-fixable with phpcbf
PHPMD Warning 4 4 rule violations (IfStatementAssignment:2, MissingImport:1, EmptyCatchBlock:1)
Cpd Pass 0
Composer validate Warning 4 valid with 4 warnings (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 169 169
2.4.8 169 169
2.4.9 169 169

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit Pass 0
Malware scan Pass 0
License
OSL-3.0, AFL-3.0

More from alekseon

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.