yireo / magento2-byattribute-graph-ql
yireo/magento2-byattribute-graph-ql
Show any listing of any product attribute in GraphQL
Yireo ByAttribute GraphQL for Magento 2
This Magento 2 extension adds a GraphQL endpoint for accessing product attributes via GraphQL. This requires at least Magento 2.3 or higher.
To install this module, run:
composer require yireo/magento2-byattribute-graph-ql
./bin/magento module:enable Yireo_ByAttributeGraphQl
Sample GraphQL queries
Here are some sample GraphQL queries to show the usage of this extension:
{
productAttribute(code:"material") {
id
code
label
default_value
options {
value
label
product_count
}
}
}
Or if you want to return less information (and include a category filter):
{
productAttribute(code:"color", category_id: 42) {
id
options {
value
}
}
}
TODO
- Cache vital parts of product count
- Refactor
ProductCounterand split it up in smaller classes
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
[0.1.1] - 29 July 2020
Added
- Magento 2.4 compatibility
[0.1.0] - Undocumented
Requires 6
| Package | Constraint |
|---|---|
| magento/framework | ^100.0|^101.0|^102.0|^103.0 |
| magento/module-eav | ^100.0|^101.0|^102.0 |
| magento/module-catalog | ^101.0|^102.0|^103.0|^104.0 |
| magento/module-graph-ql | ^100.3 |
| laminas/laminas-db | * |
| php | >=7.0.0 |
Requires-dev 2
| Package | Constraint |
|---|---|
| phpunit/phpunit | * |
| composer/composer | *@dev |
Suggests 1
| Package | Reason |
|---|---|
| yireo/magento2-byattribute2 | * |
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Pass | 0 | |
| PHPStan | Fail | 3 | 3 errors (level 4, ruleset: phpstan + bitexpert/phpstan-magento) |
| Cpd | Pass | 0 | |
| Security | Pass | 0 |
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.