mage2kishan / module-advanced-product-grid
Advanced Product Grid for Magento 2 admin — inline edit every column (text, select, multiselect, date, price, image, tier price), auto-discover EAV attributes, 20+ extra columns (thumbnail, categories, availability, low stock, qty sold, tier prices, storefront URL), tabbed Manage Columns panel with
Package info
github.com/mage2sk/module-advanced-product-grid
Type:magento2-module
pkg:composer/mage2kishan/module-advanced-product-grid
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: ^104.0
- magento/module-catalog-inventory: ^100.4
- magento/module-eav: ^102.1
- magento/module-store: ^101.1
- magento/module-ui: ^101.2
Suggests
- magento/module-configurable-product: Enables the Parent SKU column when configurable products are in use.
- magento/module-inventory-api: Adds per-source Salable Qty + per-source Quantity columns when MSI is installed.
README
Magento 2 Advanced Product Grid: Inline Edit Admin Catalog Grid with 20+ Columns (Hyva + Luma)
Turn the Magento 2 admin catalog grid into a spreadsheet. Edit cells directly in the grid, apply changes across many rows, open rich modal editors for images and tier prices, and filter by any EAV attribute. No more clicking into every product to update a single field.
Product page: kishansavaliya.com/magento-2-advanced-product-grid.html
Quick Answer
What is Panth Advanced Product Grid? It is a Magento 2 admin extension that replaces the standard product listing experience with a spreadsheet-style grid where catalog managers can inline-edit any column, manage column visibility and order, apply smart filters on every data type, and export only the columns they actually use.
What does it add to my store?
- Inline edit for text, select, multiselect, date, price, image, and tier-price columns directly in the grid row.
- 20+ extra columns including thumbnail, categories, availability, low stock, qty sold, storefront URL, and full SEO meta fields.
- Tabbed Manage Columns panel to show, hide, rename, and reorder any column without touching XML.
- Smart filters that work on every data type, including custom EAV attributes.
- Qty-sold indexer that keeps a denormalized total per product so the column loads fast on large stores.
- CSV/XML export that respects only the columns visible in the current bookmark.
Which themes are supported? Both Hyva admin and Luma admin. The module is admin-only and does not affect storefronts.
What does it need? Magento 2.4.4 to 2.4.8, PHP 8.1 to 8.4, and the free mage2kishan/module-core package.
Need Custom Magento 2 Development?
Get a free quote for your project in 24 hours for custom modules, Hyva themes, performance work, M1 to M2 migrations, and Adobe Commerce Cloud.
Visit our website: kishansavaliya.com | Get a quote: kishansavaliya.com/get-quote
See It In Action
Screenshots
Manage Columns Panel - tabbed picker with rename, toggles, sort order, filterable / editable / width / marker chips.
| Standard tab | Pricing tab | Attributes tab (auto-discovered EAV) |
|---|---|---|
![]() |
![]() |
![]() |
Multi-Cell Inline Edit - pick rows, edit every cell across them, Save Edits banner commits the batch.
Modal Editors - rich popups for cell types that don't fit inline.
| Multiselect editor (searchable + select-all / clear-all) | Thumbnail / image editor |
|---|---|
![]() |
Image Cell Hover Overlay - "View" jumps to the storefront preview, "Edit" opens the upload modal.
| Hover state | Storefront preview modal |
|---|---|
![]() |
![]() |
System Configuration - every behavior of the grid is configurable from one place.
Table of Contents
- Who Is It For
- Key Features
- Compatibility
- Installation
- Configuration
- How It Works
- FAQ
- Support
- About Panth Infotech
- Quick Links
Who Is It For
- Catalog managers on large stores who spend hours opening products one by one to update a price, a status, or a custom attribute. This module lets them do that in the grid without leaving the listing page.
- Store owners running promotions who need to quickly update special prices, visibility, or stock for a batch of products at once.
- Merchants with custom EAV attributes who want those attributes to show up in the grid as filterable, editable columns without writing XML.
- Teams with multiple admin users who want each user to be able to arrange and rename grid columns to match their workflow, without changing what anyone else sees.
- Data-driven merchandisers who want to see qty-sold figures per product right in the catalog grid so they can spot what is moving and what is not.
Key Features
Inline Edit Every Column
- Text, number, URL key, and SKU fields are editable inline. Tab between cells like a spreadsheet.
- Select and Yes/No columns show a dropdown that resolves option labels correctly, including values containing commas.
- Multiselect columns open a searchable modal with checkboxes and a clear-all button.
- Date and datetime columns use a calendar picker with locale-aware formatting.
- Price, cost, special price, and weight columns use a plain numeric input.
- Textarea columns open a full-height modal instead of a cramped inline field.
- Image columns (base, small, thumbnail, swatch) open a modal with upload, preview, and a storefront link.
- Tier price columns open a full modal with website and customer-group scoping.
- Multi-row mass edit collects changes across many rows, then commits them all with one click on the Save Edits banner.
Auto-Discover EAV Attributes
- Every product attribute with
is_used_in_grid = 1shows up in the grid automatically. - Attributes you enable in the Columns panel get a real UI component with filter, options, and editor built on the fly.
AttributeSetAssignerquietly attaches an attribute to the product's set on the first inline edit, so writes never silently fail at the EAV layer.
20+ Extra Columns
| Column | What it shows |
|---|---|
| Thumbnail | Product image with hover overlay (View / Edit) |
| Categories | Colored chips per category with a quick remove link |
| Type | Simple, Configurable, Bundle, Downloadable, etc. |
| Attribute Set | Set name (not just the ID) |
| Visibility | Catalog, Search, Catalog+Search, Not Visible |
| Availability | In Stock / Out of Stock / Manage Stock Disabled |
| Backorders | No Backorders / Allow Qty Below 0 / Allow Qty Below 0 + Notify |
| Low Stock | Boolean derived from a configurable threshold |
| Quantity | Editable, with optional integer-only display |
| Salable Quantity | Per-source breakdown when MSI is installed |
| Special Price From / To | Editable date range |
| Cost | Editable numeric |
| Tier Prices | Count chip that opens a full tier-price modal |
| Qty Sold | Indexed total over a configurable date range and order-status set |
| Storefront URL | Click-through link to the live product page |
| Meta Title / Keywords / Description / Robots | Full SEO column set, editable inline |
Tabbed Manage Columns Panel
- Five tabs: Standard, Pricing, Inventory, SEO, Attributes, Extras.
- Per-column toggles for Visible, Editable, Filterable, and In Export, plus sort order.
- Inline rename so you can label a column "Brand" instead of "manufacturer" without touching XML.
- Drag-and-drop reorder that persists into the bookmark.
- Reset all overrides button to wipe per-column customizations in one click.
Smart Filters for Every Data Type
- Text / textarea columns use substring match.
- Select / boolean columns show a dropdown of option labels.
- Multiselect columns use automatic
FIND_IN_SETlookup so picking one option matches rows storing many. - Date / datetime columns use a date-range picker.
- Price / weight / quantity columns use a from/to numeric range.
- Custom virtual filters cover Categories (with a "No Categories" sentinel), Availability (manage-stock aware), Qty Sold range, and Thumbnail (added / missing).
Performance Built for Large Catalogs
- Bookmark-aware data provider loads only the EAV attributes that are actually visible.
- Categories, stock, tier prices, qty sold, and image data are loaded in single batch queries per page, never row by row.
panth_product_grid_qty_soldmview table keeps a denormalized qty-sold total so the column loads in milliseconds even on stores with hundreds of thousands of orders.- Constructor-only DI throughout. Zero ObjectManager calls.
Unsaved-Changes Guard
- Every grid navigation (paging, sorting, filtering, mass actions, exports, bookmarks) checks for in-progress edits and prompts before discarding them.
- Fast path when nothing is dirty so the grid never feels slower than stock.
Export Aware of Visible Columns
- CSV and XML export includes only the columns visible in the current bookmark, in the same order.
- Option labels are resolved so export values are readable.
- Per-column In Export toggle in the Manage Columns panel lets you hide internal columns from the file.
Compatibility
| Requirement | Versions Supported |
|---|---|
| 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 |
| Adobe Commerce Cloud | 2.4.4 to 2.4.8 |
| PHP | 8.1.x, 8.2.x, 8.3.x, 8.4.x |
| MySQL | 8.0+ |
| MariaDB | 10.4+ |
| Hyva Admin | 1.0+ (native support) |
| Luma Admin | Native support |
| Required Dependency | mage2kishan/module-core ^1.0 (free) |
| Optional | magento/module-inventory-api (MSI per-source qty), magento/module-configurable-product (Parent SKU column) |
Installation
Composer Installation (Recommended)
composer require mage2kishan/module-advanced-product-grid bin/magento module:enable Panth_Core Panth_AdvancedProductGrid bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy -f bin/magento cache:flush bin/magento indexer:reindex panth_product_grid_qty_sold
Manual Installation via ZIP
- Download the latest release from Packagist or from the product page.
- Extract it to
app/code/Panth/AdvancedProductGrid/in your Magento install. - Make sure
Panth_Coreis installed too (required dependency). - Run the commands above starting from
bin/magento module:enable.
Verify Installation
bin/magento module:status Panth_AdvancedProductGrid
# Expected: Module is enabled
After install, open:
Admin -> Stores -> Configuration -> Panth Extensions -> Product Grid Extended
Configuration
Go to Stores -> Configuration -> Panth Extensions -> Product Grid Extended.
| Setting | Group | Default | Description |
|---|---|---|---|
| Enable Extended Grid | General | Yes | Master toggle. When off, the grid reverts to vanilla Magento behavior with no JS or DI injected. |
| Editing Mode | Inline Editing | Multi Cell | Single Cell saves on blur. Multi Cell collects changes and commits them from the Save Edits banner. |
| Warn About Unsaved Changes | Inline Editing | Yes | Prompts the admin before discarding pending edits when paging, filtering, sorting, or running a mass action. Only applies to Multi Cell mode. |
| Related / Up-sell / Cross-sell Display Count | Column Behavior | 3 | How many linked product SKUs to show inline in the cell before truncating to "+N more". |
| Low-stock Threshold | Column Behavior | 5 | A product's Low Stock column shows as flagged when its qty is at or below this number. |
| Enable Qty Sold Column | Qty Sold Indexer | Yes | Master switch for the qty-sold indexer. Disable on huge sales tables if reindex pressure is a concern. |
| Date From | Qty Sold Indexer | -90 days | Start of the rolling window. Accepts a YYYY-MM-DD date or a strtotime offset like -90 days. |
| Date To | Qty Sold Indexer | now | End of the rolling window. |
| Order Statuses to Count | Qty Sold Indexer | complete, processing | Only items on orders in the selected statuses count toward qty sold. |
| Subtract Refunded Quantities | Qty Sold Indexer | No | When Yes, qty_refunded is subtracted from qty_ordered. |
| Auto-flip Stock Status on Qty Change | Save Behavior | Yes | Sets is_in_stock automatically when the admin edits qty in the grid (qty > 0 = in stock, qty = 0 = out of stock). |
| Show Qty as Integer | Save Behavior | No | Rounds qty for display in the grid. Underlying storage stays decimal. |
| Export Visible Columns Only | Export | Yes | CSV and XML exports include only the columns visible in the current bookmark, in order. |
How It Works
- The module overlays Magento's standard
product_listingUI component. The core grid is not replaced, so every other extension that touches the grid stays compatible. - When the page loads, the data provider reads the current bookmark and loads only the EAV attributes that are visible, keeping queries small.
- When an admin clicks a cell, the right editor appears: a plain input for text, a dropdown for select, a modal for multiselect, images, or tier prices.
- In Multi Cell mode, changes accumulate locally. Clicking Save Edits sends the batch to the inline-edit controller, which routes each field through a dedicated strategy class (
QtyStrategy,CategoryIdsStrategy,TierPriceStrategy,ImageRoleStrategy, etc.) before calling the standardProductRepository. - After each save, the controller verifies the write and regenerates URL rewrites if the URL key changed.
- The Manage Columns panel stores per-column overrides in
panth_product_grid_column_config. The qty-sold indexer writes aggregated totals topanth_product_grid_qty_soldand keeps them current via an mview observer.
FAQ
Does it replace Magento's stock product grid?
No. It overlays the standard product_listing UI component. Disabling the module reverts to the native grid with zero data loss.
Will it conflict with MSI or other grid extensions?
No. All cross-module integrations are guarded by isTableExists() and module-list checks. MSI per-source columns appear only when MSI is installed. The module uses plugins on the data provider, not class replacements, so other extensions that modify the grid can run alongside it.
Can I edit a custom attribute I just created?
Yes. Enable it in the Columns panel and the column appears with a filter, an editor, and option labels. On first save, AttributeSetAssigner auto-binds the attribute to the product's set so the write persists.
Is it compatible with Hyva?
Yes. The module is admin-only and does not affect storefronts. The admin grid runs on Magento's stock UI components, which both Hyva and Luma admin themes inherit without changes.
Can I control who can use inline edit?
Yes. Every save controller checks the Panth_AdvancedProductGrid::inline_edit ACL resource. Individual modals (tier price, image gallery) each check their own resource. Assign these in System -> User Roles.
Does it work on stores with 10,000+ products?
Yes. The data provider only selects visible attributes, not every EAV row. Batch queries load related data in a single query per page. The qty-sold total is pre-indexed, not calculated at render time.
Does it support multi-store setups?
Yes. Per-store edits use Magento's standard store scope. UI strings are fully translatable via __().
How does the qty-sold indexer stay current?
An mview observer subscribes to sales_order_item writes and recomputes the affected rows incrementally. On split-DB deployments the observer automatically uses the sales DB connection.
Does Panth Advanced Product Grid need Panth Core?
Yes. mage2kishan/module-core is a free, required dependency that Composer installs for you.
Support
| Channel | Contact |
|---|---|
| Product Page | kishansavaliya.com/magento-2-advanced-product-grid.html |
| kishansavaliyakb@gmail.com | |
| Website | kishansavaliya.com |
| +91 84012 70422 | |
| GitHub Issues | github.com/mage2sk/module-advanced-product-grid/issues |
| Upwork (Top Rated Plus) | Hire Kishan Savaliya |
| Upwork Agency | Panth Infotech |
Response time: 1-2 business days.
Need Custom Magento Development?
Looking for custom Magento module development, Hyva theme work, store migrations, or performance tuning? Get a free quote in 24 hours:
About Panth Infotech
Built and maintained by Kishan Savaliya (kishansavaliya.com), a Top Rated Plus Magento developer on Upwork with 10+ years of eCommerce experience.
Panth Infotech is a Magento 2 development agency that builds high quality, security focused extensions and themes for both Hyva and Luma storefronts. The extension suite covers SEO, performance, checkout, product presentation, customer engagement, and store management, with each module built to MEQP standards and tested across Magento 2.4.4 to 2.4.8.
Browse the full extension catalog on our Magento extensions page or on Packagist.
Quick Links
| Resource | Link |
|---|---|
| Product Page | magento-2-advanced-product-grid.html |
| Packagist | mage2kishan/module-advanced-product-grid |
| GitHub | mage2sk/module-advanced-product-grid |
| Website | kishansavaliya.com |
| Free Quote | kishansavaliya.com/get-quote |
| Upwork (Top Rated Plus) | Hire Kishan Savaliya |
| Upwork Agency | Panth Infotech |
| kishansavaliyakb@gmail.com | |
| +91 84012 70422 |
Ready to stop clicking into every product one at a time?
SEO Keywords: magento 2 advanced product grid, magento 2 inline edit grid, magento 2 mass product edit, magento 2 catalog grid extension, magento 2 column manager, magento 2 grid editor, magento 2 product grid customization, magento 2 spreadsheet editor, magento 2 grid filters, magento 2 EAV grid, magento 2 tier price grid, magento 2 grid export, magento 2 multi-cell editor, magento 2 product grid columns, magento 2 product attributes grid, magento 2 admin productivity, magento 2 attribute set grid, magento 2 categories grid, magento 2 thumbnail grid, magento 2 qty sold indexer, magento 2 stock grid, magento 2 availability grid, magento 2 backorders grid, magento 2 low stock grid, magento 2 salable qty grid, magento 2 MSI grid, magento 2 SEO meta grid, magento 2 meta robots grid, hyva admin grid, luma admin grid, magento 2.4.8 admin grid, magento 2 PHP 8.4 grid, mage2kishan advanced product grid, panth infotech product grid, kishan savaliya magento, hire magento developer upwork, top rated plus magento freelancer, custom magento development, adobe commerce admin grid, magento 2 grid plugin, magento 2 inline edit product, magento 2 bulk product edit









