mage2kishan / module-ordered-items
Panth Ordered Items — adds a rich 'Order Items' column to the Magento 2 admin Sales Order Grid. Displays product thumbnails, names, SKUs, and quantities directly in the grid with a collapsible 'show more' link for orders with many items. No configuration required — install and it works.
Package info
github.com/mage2sk/module-ordered-items
Type:magento2-module
pkg:composer/mage2kishan/module-ordered-items
Requires
- php: ~8.1.0||~8.2.0||~8.3.0||~8.4.0
- mage2kishan/module-core: ^1.0
- magento/framework: ^103.0
- magento/module-backend: ^102.0
- magento/module-catalog: ^103.0 || ^104.0
- magento/module-config: ^101.2
- magento/module-sales: ^103.0
- magento/module-ui: ^101.2
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Panth Ordered Items adds an "Order Items" column to the admin Sales Order Grid (Sales > Orders). For every order row it renders the visible order items with product thumbnail, product name, SKU, selected options, quantity, unit price, row total and per-item fulfillment status, so an administrator can see what an order contains without opening the order view page.
The module changes only the admin order grid. It does not touch the storefront, checkout or customer account, so it works with any storefront theme, including Hyva and Luma. It is intended for store managers and fulfillment staff who work from the order list.
Product page: kishansavaliya.com/magento-2-ordered-items.html
Features
- Adds a non-sortable, non-filterable "Order Items" column to the
sales_order_gridUI component listing. - Shows, per item: a 32x32 product thumbnail (placeholder image when the product has none), product name, SKU, quantity, unit price and row total formatted in the order currency.
- Shows configurable attribute values (for example Size and Color) and bundle selections, up to four option lines per item.
- Shows fulfillment badges per item: "Invoiced", "Shipped", "Refunded" and "Canceled" with the quantity in each state, or "Pending" when no quantity has been processed.
- Shows a summary line per order with the number of distinct items and the total number of units.
- Product thumbnail and product name can link to the product edit page, opened in a new tab.
- Inline "+ N more items" / "Show less" toggle when an order has more items than the configured inline limit.
- Paginated popup ("View all N items") for orders with more items than the configured popup threshold; the popup has a per-page selector (10, 20, 50, All), previous/next navigation, a header with order number, item count, unit count and grand total, and closes on the close button, the Escape key or a click on the backdrop.
- Every display element can be turned on or off from admin configuration; the whole column can be disabled with one setting.
- No database tables, no plugins, no observers, no cron jobs and no console commands.
Screenshots from this repository:
A short screen recording of the popup is included at docs/order-items-popup-demo.mp4.
Compatibility
| Platform | Versions |
|---|---|
| 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 |
| PHP | 8.1, 8.2, 8.3, 8.4 |
| Themes | Admin only; independent of the storefront theme (Hyva, Luma or other) |
Composer constraints for Magento packages: magento/framework ^103.0, magento/module-backend ^102.0, magento/module-config ^101.2, magento/module-sales ^103.0, magento/module-catalog ^103.0 or ^104.0, magento/module-ui ^101.2.
Requirements
- Magento Open Source or Adobe Commerce 2.4.4 to 2.4.8
- PHP ~8.1.0, ~8.2.0, ~8.3.0 or ~8.4.0
mage2kishan/module-core^1.0 (installed automatically by Composer; provides the "Panth Extensions" configuration tab)magento/framework^103.0,magento/module-backend^102.0,magento/module-config^101.2,magento/module-sales^103.0,magento/module-catalog^103.0 or ^104.0,magento/module-ui^101.2
Installation
composer require mage2kishan/module-ordered-items bin/magento module:enable Panth_Core Panth_OrderedItems bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush
setup:di:compile is only needed when Magento runs in production mode. The module ships CSS and JavaScript under view/adminhtml/web, so setup:static-content:deploy is required in production mode; in developer mode static files are generated on request.
Check that the module is enabled:
bin/magento module:status Panth_OrderedItems
After installation the "Order Items" column is visible in Sales > Orders. It can be hidden or shown like any other grid column through the "Columns" control of the grid.
Configuration
Admin path: Stores > Configuration > Panth Extensions > Ordered Items Grid. All settings are available in the Default scope only (no website or store view overrides). Access requires the ACL resource "Panth Ordered Items Grid" (Panth_OrderedItems::config).
General Settings
| Setting | Default | What it does |
|---|---|---|
| Enable Order Items Column | Yes | Renders the column content. When set to No the column stays in the grid definition but its cells are left empty. |
| Max Visible Items (Inline) | 3 | Number of items shown before the inline "+ N more items" toggle. In popup mode this is also the number of items shown in the grid cell above the "View all" link. |
| Popup Threshold | 10 | When an order has more items than this number, the remaining items are shown in the paginated popup instead of inline. |
Config paths: panth_ordered_items/general/enabled, panth_ordered_items/general/max_visible, panth_ordered_items/general/popup_threshold.
Note: if "Max Visible Items (Inline)" or "Popup Threshold" is saved as 0 or left empty, the code falls back to 3 and 10 respectively.
Display Options
| Setting | Default | What it does |
|---|---|---|
| Show Product Thumbnail | Yes | Shows the product thumbnail image for each item. |
| Show SKU | Yes | Shows the item SKU. |
| Show Price | Yes | Shows the unit price and the row total in the order currency. |
| Show Quantity | Yes | Shows the ordered quantity. |
| Show Product Options | Yes | Shows configurable attribute values and bundle selections (up to four per item). |
| Show Fulfillment Status | Yes | Shows the Invoiced, Shipped, Refunded, Canceled or Pending badges per item. |
| Show Items Summary | Yes | Shows the item count and unit count at the top of the cell. |
| Link Product Name to Product Edit | Yes | Makes the product name and thumbnail a link to the product edit page (new tab). |
Config paths: panth_ordered_items/display/show_thumbnail, show_sku, show_price, show_qty, show_options, show_fulfillment, show_summary, show_product_link.
With the shipped defaults every element is enabled, so the column is fully populated right after installation.
The module adds no admin menu entry and no separate admin grid; the only admin pages it touches are the Sales > Orders grid and the configuration section above.
Usage
Admin behaviour:
- Open Sales > Orders. Each row shows the "Order Items" cell. Clicks inside the cell do not open the order view page (click propagation is stopped), so the "+ N more items", "Show less", "View all" and product links can be used directly from the grid.
- Orders with at most "Popup Threshold" items: the first "Max Visible Items (Inline)" items are shown, the rest are hidden and can be expanded inline with "+ N more items".
- Orders with more than "Popup Threshold" items: the first "Max Visible Items (Inline)" items are shown, followed by a "View all N items" link that opens the popup. All items are rendered into the page with the grid and paginated in the browser; no additional request is made when the popup opens.
- Orders with no visible items show "No items". If rendering fails for one order the cell shows "-" and the error is written to the debug log with the prefix
Panth_OrderedItems:.
Automatic behaviour: the column content is generated when the grid page is loaded. For all order rows on the current grid page the module reads the visible order items with one order item collection query, the order number, grand total and order currency with one order collection query, and, when thumbnails are enabled, the product thumbnails with one product collection query. The number of queries does not grow with the number of rows; a smaller grid page size or disabling thumbnails still reduces the render time on very large pages.
There is no storefront output, no customer account output, no cron job and no console command.
Assets that can be overridden in a custom admin theme:
Panth_OrderedItems::css/order-items-grid.css(column and popup styling)Panth_OrderedItems::js/order-items-modal.js(popup pagination and Escape key handling, exposeswindow.panthOiPaginate)
Both are added to the sales_order_index layout handle. The module ships no PHTML templates; the cell HTML is produced by the column class.
Developer Notes
- Module name:
Panth_OrderedItems - Composer package:
mage2kishan/module-ordered-items(version 1.0.9) - PHP namespace:
Panth\OrderedItems - Load sequence: after
Panth_Core,Magento_Sales,Magento_Catalog - Column class:
Panth\OrderedItems\Ui\Component\Listing\Column\OrderItems(extendsMagento\Ui\Component\Listing\Columns\Column; public methodprepareDataSource(array $dataSource): array). Rendering, option extraction, thumbnail URL and fulfillment badge helpers are private methods of this class. - UI component:
view/adminhtml/ui_component/sales_order_grid.xmladds columnorder_itemswithbodyTmplui/grid/cells/html,sortOrder200. - Layout:
view/adminhtml/layout/sales_order_index.xmladds the CSS and JS files. etc/di.xmlregistersPanth_OrderedItemsin theregisteredModulesargument ofPanth\Core\ViewModel\ThemeConfig.etc/adminhtml/di.xmldeclares the virtual typeMagento\Sales\Model\ResourceModel\Order\Grid\Collectionwith the standardsales_order_gridmain table andMagento\Sales\Model\ResourceModel\Orderresource model; it does not add columns to the grid table.- ACL resource:
Panth_OrderedItems::config("Panth Ordered Items Grid") underMagento_Config::config. - Database tables: none (no
db_schema.xml). - No plugins, preferences, observers, routes, controllers, web API endpoints, widgets or console commands.
Uninstallation
bin/magento module:disable Panth_OrderedItems composer remove mage2kishan/module-ordered-items bin/magento setup:upgrade bin/magento setup:di:compile bin/magento cache:flush
The module creates no database tables. Saved configuration values under panth_ordered_items/* remain in core_config_data and can be deleted manually if required. mage2kishan/module-core stays installed if other Panth modules depend on it.
Support
- Product page: kishansavaliya.com/magento-2-ordered-items.html
- Contact form: kishansavaliya.com/contact
- Email: kishansavaliyakb@gmail.com
- GitHub issues: github.com/mage2sk/module-ordered-items/issues
License
Proprietary, as declared in composer.json. The package is published on Packagist and can be installed with Composer; see the product page for the terms of use.
Changelog
See CHANGELOG.md.
Links
- Website: kishansavaliya.com
- All extensions: kishansavaliya.com/magento-extensions.html
- GitHub: github.com/mage2sk/module-ordered-items
- Packagist: packagist.org/packages/mage2kishan/module-ordered-items

