PHPackages                             avenyra/module-order-item-images - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. avenyra/module-order-item-images

ActiveMagento2-module[API Development](/categories/api)

avenyra/module-order-item-images
================================

A Magento 2 module that captures and stores product thumbnail images for order items, making them available in the admin panel on order view page and via GraphQL for headless storefronts.

1.0.0(4mo ago)001MITPHPPHP ~8.1.0||~8.2.0||~8.3.0

Since Jan 8Pushed 3mo agoCompare

[ Source](https://github.com/Avenyra/magento2-OrderItemImages)[ Packagist](https://packagist.org/packages/avenyra/module-order-item-images)[ RSS](/packages/avenyra-module-order-item-images/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/13b876b0ad0d684f705cecfaa115a6b282bdd503389973092fccdd3c3ca4cef2/687474703a2f2f706f7365722e707567782e6f72672f6176656e7972612f6d6f64756c652d6f726465722d6974656d2d696d616765732f76)](https://packagist.org/packages/avenyra/module-order-item-images)[![Total Downloads](https://camo.githubusercontent.com/26ba7ff425b93b0f66132ab397acb00df11fd951b38c30dae8eca75c462e8574/687474703a2f2f706f7365722e707567782e6f72672f6176656e7972612f6d6f64756c652d6f726465722d6974656d2d696d616765732f646f776e6c6f616473)](https://packagist.org/packages/avenyra/module-order-item-images)[![License](https://camo.githubusercontent.com/7456182e3bfa0d8f103b669ab97618efd1cfc82b9fa0770abbd988be31686dd4/687474703a2f2f706f7365722e707567782e6f72672f6176656e7972612f6d6f64756c652d6f726465722d6974656d2d696d616765732f6c6963656e7365)](https://packagist.org/packages/avenyra/module-order-item-images)

Avenyra Order Item Images
=========================

[](#avenyra-order-item-images)

A Magento 2 module that captures and stores product thumbnail images for order items, making them available in the admin panel on order view page and via GraphQL for headless storefronts.

Features
--------

[](#features)

- **Automatic Image Capture**: Automatically captures product thumbnail URLs when orders are placed
- **Admin Panel Display**: Shows product thumbnails in the order view page for better visual identification
- **GraphQL Support**: Exposes thumbnail URLs via GraphQL for headless commerce implementations
- **Configurable Product Support**: Intelligently selects child product images for configurable products
- **Database Storage**: Stores thumbnail URLs in the database to preserve historical product images
- **Placeholder Fallback**: Automatically uses placeholder images when product images are unavailable

Requirements
------------

[](#requirements)

- PHP 8.1+
- Magento 2.4.5+

Installation
------------

[](#installation)

### Via Composer (Recommended)

[](#via-composer-recommended)

```
composer require avenyra/module-order-item-images
php bin/magento module:enable Avenyra_OrderItemImages
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento cache:flush
```

How It Works
------------

[](#how-it-works)

### Order Placement

[](#order-placement)

When a customer completes checkout, the module:

1. Captures the product thumbnail URL for each order item
2. For configurable products, uses the selected variant's image
3. Stores the thumbnail URL in the database table
4. Falls back to placeholder images if product images are unavailable

### Admin Panel

[](#admin-panel)

The module enhances the order view page by:

- Adding a "Thumbnail" column to the order items grid
- Displaying product images (90px height) for visual identification

### ScreenShots

[](#screenshots)

#### Configurable Products

[](#configurable-products)

[![av_orderitemimages_1](https://private-user-images.githubusercontent.com/88397713/540874494-dd9aa390-86a8-4db8-bf00-1d5f9e467452.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMzkyOTksIm5iZiI6MTc3NTEzODk5OSwicGF0aCI6Ii84ODM5NzcxMy81NDA4NzQ0OTQtZGQ5YWEzOTAtODZhOC00ZGI4LWJmMDAtMWQ1ZjllNDY3NDUyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNDAyVDE0MDk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkOTA4Y2M1OTUzODU5NGI0OWNiMTRkNDY0Y2FkMTlmYjVlMmNmNmU5MzFhMTAxYTNkNDkwNTA1MTFlMWZmODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ZRTA82Wz9S9ndbGoEqO8eZzPdgUPFaNQJLRUJfivRWc)](https://private-user-images.githubusercontent.com/88397713/540874494-dd9aa390-86a8-4db8-bf00-1d5f9e467452.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMzkyOTksIm5iZiI6MTc3NTEzODk5OSwicGF0aCI6Ii84ODM5NzcxMy81NDA4NzQ0OTQtZGQ5YWEzOTAtODZhOC00ZGI4LWJmMDAtMWQ1ZjllNDY3NDUyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNDAyVDE0MDk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkOTA4Y2M1OTUzODU5NGI0OWNiMTRkNDY0Y2FkMTlmYjVlMmNmNmU5MzFhMTAxYTNkNDkwNTA1MTFlMWZmODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ZRTA82Wz9S9ndbGoEqO8eZzPdgUPFaNQJLRUJfivRWc)#### Simple &amp; Bundle Products

[](#simple--bundle-products)

[![av_orderitemimages_2](https://private-user-images.githubusercontent.com/88397713/540874611-6b597b67-7272-4246-a3bc-e000ab88b311.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMzkyOTksIm5iZiI6MTc3NTEzODk5OSwicGF0aCI6Ii84ODM5NzcxMy81NDA4NzQ2MTEtNmI1OTdiNjctNzI3Mi00MjQ2LWEzYmMtZTAwMGFiODhiMzExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNDAyVDE0MDk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUyNjBmOWQwMWFhYWU4NDYzNGEzZTc1NjFjNmM1ZmE5YTIyMWU4ZjNlODAxMTc1Y2MxYWE3OWYzYWNmYmQ3YzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.E8StX-t8Mxs1IQC_rIVRrxfNGLqV_J9do8h_E0tpXSY)](https://private-user-images.githubusercontent.com/88397713/540874611-6b597b67-7272-4246-a3bc-e000ab88b311.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMzkyOTksIm5iZiI6MTc3NTEzODk5OSwicGF0aCI6Ii84ODM5NzcxMy81NDA4NzQ2MTEtNmI1OTdiNjctNzI3Mi00MjQ2LWEzYmMtZTAwMGFiODhiMzExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNDAyVDE0MDk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUyNjBmOWQwMWFhYWU4NDYzNGEzZTc1NjFjNmM1ZmE5YTIyMWU4ZjNlODAxMTc1Y2MxYWE3OWYzYWNmYmQ3YzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.E8StX-t8Mxs1IQC_rIVRrxfNGLqV_J9do8h_E0tpXSY)

#### Placeholder Images

[](#placeholder-images)

[![av_orderitemimages_3](https://private-user-images.githubusercontent.com/88397713/540874639-17201ff5-4d0d-4ff6-90a4-8920e566aec2.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMzkyOTksIm5iZiI6MTc3NTEzODk5OSwicGF0aCI6Ii84ODM5NzcxMy81NDA4NzQ2MzktMTcyMDFmZjUtNGQwZC00ZmY2LTkwYTQtODkyMGU1NjZhZWMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNDAyVDE0MDk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0YjgwZDI3NzYxOWJlYmU1YTc4NTRmOGQyMDIzZDQzNjJlYjcxMDdiZTVmZTMyZGM3N2IwYTZiZmYwMjVlYzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ZhsU2CAk32k6lf4j0soVURklLL7G88DMZchy86oNd3k)](https://private-user-images.githubusercontent.com/88397713/540874639-17201ff5-4d0d-4ff6-90a4-8920e566aec2.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxMzkyOTksIm5iZiI6MTc3NTEzODk5OSwicGF0aCI6Ii84ODM5NzcxMy81NDA4NzQ2MzktMTcyMDFmZjUtNGQwZC00ZmY2LTkwYTQtODkyMGU1NjZhZWMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA0MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNDAyVDE0MDk1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0YjgwZDI3NzYxOWJlYmU1YTc4NTRmOGQyMDIzZDQzNjJlYjcxMDdiZTVmZTMyZGM3N2IwYTZiZmYwMjVlYzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ZhsU2CAk32k6lf4j0soVURklLL7G88DMZchy86oNd3k)

### GraphQL API

[](#graphql-api)

The module extends the `OrderItemInterface` with:

- `item_thumbnail_url` field for retrieving product thumbnails
- Automatic placeholder fallback for missing images
- Full compatibility with headless storefronts

GraphQL Usage
-------------

[](#graphql-usage)

### Query Example

[](#query-example)

```
{
    customer {
        orders {
            items {
                items {
                    product_name
                    product_sku
                    item_thumbnail_url
                    quantity_ordered
                }
            }
        }
    }
}
```

### Response Example

[](#response-example)

```
{
    "data": {
        "customer": {
            "orders": {
                "items": [
                    {
                        "items": [
                            {
                                "product_name": "Sample Product",
                                "product_sku": "SAMPLE-SKU",
                                "item_thumbnail_url": "https://example.com/media/catalog/product/cache/.../image.jpg",
                                "quantity_ordered": 2
                            }
                        ]
                    }
                ]
            }
        }
    }
}
```

Support
-------

[](#support)

Found a bug or issue? Please [open an issue](https://github.com/Avenyra/magento2-OrderItemImages/issues) on GitHub.

Author
------

[](#author)

**Avenyra Solutions**

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance79

Regular maintenance activity

Popularity1

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

123d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/43a0e0112388db576cfbb5301b005b99c6a4e913dc087793f9c1b460ca653acc?d=identicon)[Avenyra](/maintainers/Avenyra)

---

Top Contributors

[![Avenyra](https://avatars.githubusercontent.com/u/88397713?v=4)](https://github.com/Avenyra "Avenyra (8 commits)")

---

Tags

adobecommercefree-extensiongraphqlmagento2magento2-extensionmagento2-moduleorder-managementorder-utility

### Embed Badge

![Health badge](/badges/avenyra-module-order-item-images/health.svg)

```
[![Health](https://phpackages.com/badges/avenyra-module-order-item-images/health.svg)](https://phpackages.com/packages/avenyra-module-order-item-images)
```

###  Alternatives

[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8044.5M33](/packages/smile-elasticsuite)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[graycore/magento2-cors

A Magento 2 module that enables CORS on the GraphQL and REST Apis

99516.1k](/packages/graycore-magento2-cors)[elgentos/module-prismicio

Magento 2 - Prismic.io integration

39112.0k3](/packages/elgentos-module-prismicio)[zepgram/module-rest

Technical module to industrialize API REST call with dependency injection pattern using Guzzle library

1326.2k](/packages/zepgram-module-rest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
