# alekseon/alekseon-eav

> N/A

`composer require alekseon/alekseon-eav`

Canonical URL: https://packagento.com/alekseon/alekseon-eav

## At a glance

- **Vendor**: alekseon (https://packagento.com/alekseon.md)
- **Latest version**: 101.2.23 — released 2026-04-16
- **Pricing**: Free
- **Package type**: Magento 2 module
- **Status**: active, accepting new buyers

## Installation

Packagento is licence-gated, so even free packages need a licence on a project before Composer can resolve them.

1. **Sign in or create an account** at https://packagento.com/customer/account/.

2. **Add the package to your account.** Open https://packagento.com/alekseon/alekseon-eav and complete the free checkout. A licence is minted automatically.

3. **Create or pick a project, then activate the licence on it.**
   - Projects represent the Magento installs you deploy to. Manage them at https://packagento.com/projects/.
   - Activate the new licence on the project you'll deploy this package to. Activation is what generates the Composer credentials scoped to that project.

4. **Add the project credentials to your Magento codebase.**

   Grab the project's public + private key from https://packagento.com/projects/ (open the project, then its Credentials tab), and add them to `auth.json`:

   ```json
   {
     "http-basic": {
       "packagento.com": {
         "username": "ppk_live_...",
         "password": "psk_live_..."
       }
     }
   }
   ```

   Add the Packagento Composer repository to `composer.json`:

   ```json
   {
     "repositories": [
       { "type": "composer", "url": "https://packagento.com" }
     ]
   }
   ```

5. **Install and apply.**

   ```bash
   composer require alekseon/alekseon-eav:*
   bin/magento setup:upgrade
   bin/magento setup:di:compile
   bin/magento cache:flush
   ```

## What it does

N/A

## README

<h1 align="center">  
<br/>
  <img src="https://i.imgur.com/b2oclHA.png" alt="Alekseon Eav" width="400">  
  <br>  
  Alekseon_AlekseonEav
  <br>  
</h1>
<p align="center">
This module creates entities and attributes data structure and allows to manage scopable attributes.
<br>
<br>
This is the core module for some of our extensions:
<br>
<a href="https://github.com/Alekseon/magento2-custom-forms-builder">Alekseon_CustomFormsBuilder</a>
<br>
<a href="https://github.com/Alekseon/magento2-widget-forms">Alekseon_WidgetForms</a>

## Changelog

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

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

### [Unreleased]
#### Changed
#### Fixed
#### Added

### [101.2.23] - 2026-04-16
#### Added
- system values

### [101.2.22] - 2026-02-19
#### Fixed
- fix update attribute frontend labels

### [101.2.21] - 2026-01-23
#### Fixed
- fix saving attribute when database prefix is used

### [101.2.20] - 2025-12-02
#### Added
- set default value for new entities if has no data

### [101.2.19] - 2025-12-01
#### Fixed
- fix default value for boolean attribute

### [101.2.18] - 2025-09-30
#### Fixed
- fix for saving boolean attribute when it use default value

### [101.2.17] - 2025-06-27
#### Fixed
- fix error "Call to a member function hasValue() on bool" when default value provider is not set

### [101.2.16] - 2024-11-23
#### Added
- added db_schema.xml
#### Changed
- moved table creations to db_schema.xml

### [101.2.15] - 2024-11-22
#### Added
- getAdminDataValidateParams method
- input validator codes

### [101.2.14] - 2024-08-16
#### Changed
- data-validate parameter "validate-email" changed to "email"

### [101.2.13] - 2024-08-01
#### Added
- show Attribute notes on element edit

### [101.2.12] - 2024-07-29
#### Fixed
- fix image helper for empty image path
- not display "default value" input for attribute with options
#### Changed
- separeate getAttributeColumnConfig method

### [101.2.11] - 2024-05-16
#### Changed
- Translate labels (https://github.com/Alekseon/AlekseonEav/issues/44)

### [101.2.10] - 2024-05-15
#### Added
- Store ID is now passed to row url in grid

### [101.2.9] - 2024-02-26
#### Fixed
- set collection resource model on all collections items
- fix argument type error in EavDataSetup
#### Added
- serialized backend model

### [101.2.8] - 2023-12-03
#### Added
- File size validator

### [101.2.7] - 2023-10-05
#### Changed
- Removed Attribute Metadata, it was used in custom project to date format and its not needed anymore

### [101.2.6] - 2023-09-08
#### Fixed
- optimization for getAttributeText method

### [101.2.5] - 2023-09-01
#### Fixed
- fix for images upload

### [101.2.4] - 2023-06-28
#### Fixed
- fix for image url

### [101.2.3] - 2023-06-21
#### Fixed
- fix for default value when its array (for multiselects)

### [101.2.2] - 2023-06-12
#### Fixed
- fix for isRequired validation for new objects with storeId
- fix table name for adding 'option_code' column (https://github.com/Alekseon/AlekseonEav/issues/42)

### [101.2.1] - 2023-05-22
#### Added
- declare strict_types
- Yes/No option source

### [101.2.0] - 2023-05-13
#### Changed
- moved schema install/updates to patches
- code quality improvements

### [101.1.16] - 2023-05-09
#### Fixed
- fix for error "Email template '' is not defined" in magento 2.4.0
#### Changed
- code quality improvements

### [101.1.15] - 2023-05-08
#### Changed
- code quality improvements
- fix image helper for not existing files

### [101.1.14] - 2023-05-01
#### Changed
- code quality improvements

### [101.1.13] - 2023-04-21
#### Fixed
- hide "not selected" option if there is option with key "0"

### [101.1.12] - 2023-04-20
#### Fixed
- fix image helper for not existing files

### [101.1.11] - 2023-03-20
#### Fixed
- mutiselect values validator

### [101.1.10] - 2023-03-12
#### Fixed
- fixed issue with boolean require validation
- get correct option labels on store view 
#### Added
- select options validation: checking if option id exists before its saved

### [101.1.9] - 2023-03-04
#### Added
- hasCustomOptionSource method used in custom forms builder

### [101.1.8] - 2023-03-04
#### Fixed
- fixed array to string conversion error

_(Changelog truncated for .md surface. Full history on https://packagento.com/alekseon/alekseon-eav.)_

## Recent Versions

| Version | Released |
|---|---|
| 101.2.23 | 2026-04-16 |
| 101.2.22 | 2026-02-19 |
| 101.2.21 | 2026-01-23 |
| 101.2.20 | 2025-12-02 |
| 101.2.19 | 2025-12-01 |
| 101.2.18 | 2025-10-01 |
| 101.2.17 | 2025-06-27 |
| 101.2.16 | 2024-11-23 |
| 101.2.15 | 2024-11-22 |
| 101.2.14 | 2024-08-16 |

Showing 10 of 78 versions. Full release history on https://packagento.com/alekseon/alekseon-eav.

## Dependencies

### Require

| Package | Constraint |
|---|---|
| magento/framework | 102.* \| 103.* |

## Quality

Latest release (101.2.23) fails the Packagento QA pipeline. Verdicts below are per-cell (Magento line × PHP version) for the matrixed tools, and run-once for the static / security tiers.


### Compatibility

Each Magento line is installed on its supported PHP versions, then the module is built (DI compile + static-content deploy). Cells show passed / failed / untested; staircase gaps render as `–`.

| 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. Never affect the Compatibility verdict — 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.

| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Fail | 266 | 6 errors, 260 warnings (ruleset: Magento2) — 142 auto-fixable with phpcbf |
| PHPMD | Warning | 25 | 25 rule violations (MissingImport:8, UndefinedVariable:7, IfStatementAssignment:6, ExcessiveClassComplexity:4) |
| Cpd | Pass | 0 |  |
| Composer validate | Info | 1 | valid; 1 advisory note (composer validate --strict) |

#### PHPStan

Type-checks the module against a real Magento install. Re-runs per Magento + PHP version because resolvable symbols differ between releases.

| 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 per Magento + PHP cell. Test failures speak to the module's behaviour, not its compatibility with a line, so they're reported here separately.

#### Unit Tests

| 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

| 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

Dependency-advisory audit (composer audit) plus a source malware scan. A malware detection fails the version outright.

| Tool | Status | Findings | Summary |
|---|---|---|---|
| Composer audit | Pass | 0 |  |
| Malware scan | Pass | 0 |  |

## Licence and pricing

Free. A licence is still minted on checkout and bound to your project for Composer access — no payment step.

Refundable within 14 days of first purchase via https://packagento.com/account/refunds/.

## Install via Claude Code or any MCP client

The Packagento MCP server can run the licence + project + Composer steps above in one tool call:

```
purchase_and_install_packages(
  composer_names=["alekseon/alekseon-eav"],
  project_id="proj_xxx"
)
```

This handles cart, checkout, licence minting, project activation, and writes auth.json credentials. Connect a client with `claude mcp add packagento https://mcp.packagento.com`. Full setup at https://packagento.com/docs/mcp-setup.

## Vendor

alekseon is a Magento 2 vendor on Packagento. See https://packagento.com/alekseon.md for their full catalogue.

