Grilele de administrare (bazate pe componente UI) afișează, filtrează și sortează date în backend-ul Magento 2. Crearea uneia presupune cunoștințe de dezvoltare și mai multe fișiere într-un modul propriu. Iată structura de urmat.
Pașii principali
- Modulul de bază: creează
etc/module.xml(cu dependențe deMagento_BackendșiMagento_Ui) șiregistration.php. - Rutare backend: definește
etc/adminhtml/routes.xml(routeradmin) și un element de meniu înetc/adminhtml/menu.xml. - Layout-ul paginii: creează
view/adminhtml/layout/<route>.xmlcare referă componenta UI de tip<uiComponent>. - Componenta UI (listing): definește grila în
view/adminhtml/ui_component/<name>.xml—dataSource,listingToolbar(filtre, paginare, mass actions) șicolumns. - DataProvider și colecția: creează clasa DataProvider (extinde
...UiComponentDataProviderDataProvider) și configureaz-o înetc/di.xmlprintr-unvirtualTypede colecție (cumainTableșiresourceModel). - Coloana de acțiuni și controllerele: adaugă clasa pentru
actionsColumnși controllerele backend (Controller/Adminhtml/...) pentru pagina principală și pentru mass actions (ex. massDelete).
Notă: pe Adobe Commerce, tabelele EAV pot folosi coloana
row_idîn loc deentity_id— tratează ambele cazuri în DataProvider.
Pentru codul complet și actualizat, consultă tutorialul oficial din documentația pentru dezvoltatori Adobe Commerce. Ca alternativă fără cod, poți folosi o extensie terță de tip „grid”.