Magento 2.1'de, yapılandırılmış ve kullanımda toplam 25 UI Bileşen listesi / ızgara veri sağlayıcısı vardır. Veri sağlayıcı sınıfları ve ui_component
dosyaları aşağıda listelenmiştir
Magento\Bundle\Ui\DataProvider\Product\BundleDataProvider bundle_product_listing.xmlMagento\Catalog\Ui\DataProvider\Product\Attributes\Listing product_attributes_grid.xml
Magento\Catalog\Ui\DataProvider\Product\ProductCustomOptionsDataProvider product_custom_options_listing.xml
Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider configurable_associated_product_listing.xml
Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider product_listing.xml
Magento\Catalog\Ui\DataProvider\Product\Related\CrossSellDataProvider crosssell_product_listing.xml
Magento\Catalog\Ui\DataProvider\Product\Related\RelatedDataProvider related_product_listing.xml
Magento\Catalog\Ui\DataProvider\Product\Related\UpSellDataProvider upsell_product_listing.xml
Magento\Cms\Ui\Component\DataProvider cms_block_listing.xml
Magento\Cms\Ui\Component\DataProvider cms_page_listing.xml
Magento\ConfigurableProduct\Ui\DataProvider\Attributes product_attributes_listing.xml
Magento\Customer\Ui\Component\DataProvider customer_listing.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider customer_online_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_creditmemo_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_invoice_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_shipment_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_creditmemo_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_invoice_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider sales_order_view_shipment_grid.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider search_synonyms_grid.xml
BraintreeTransactionsDataProvider (virtual type) braintree_report.xml
Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider
Magento\GroupedProduct\Ui\DataProvider\Product\GroupedProductDataProvider grouped_product_listing.xml
Magento\Review\Ui\DataProvider\Product\ReviewDataProvider review_listing.xml
Magento\Theme\Ui\Component\Design\Config\DataProvider design_config_listing.xml
Bu bilgilere dayanarak, son kullanıcı programcılarının ızgara bileşenlerini temel almak için kullanabileceği iki temel sınıf olduğu görülmektedir .
- Magento \ Framework \ Görünüm \ Eleman \ UIComponent \ DataProvider'ın \ DataProvider'ın
- Magento \ Ui \ DataProvider'ın \ AbstractDataProvider
Magento\Ui\DataProvider\AbstractDataProvider
Sınıf iki basit görünüyor ve (görünüyor?) Sadece Magento kaynak modelinin yapılandırılmasını gerektirir. Müşteri ağıMagento\Customer\Ui\Component\DataProvider
modülü bu sınıfa dayanır ve bir ızgara listesi için gereken tüm sıralama, filtreleme vb. İşlevlere sahip gibi görünür.
Bir neden Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider
var mı - yoksa veri sağlayıcısı oluşturmak için farklı bir yaklaşım gerektiren eski / yeni kod mu? Başka bir deyişle, Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider
tabloya fazladan özellikler getirmek veya sistemin diğer bölümlerinin ızgara ile bir şeyler yapmasını sağlamak mı? Kaynak koduna bakıldığında Magento\Framework\App\RequestInterface
ilgi çekici görünüyor - bu ızgaralarla işlevselliği "ücretsiz" olarak rapor edebileceğiniz anlamına geliyor. Ancak, kapsamlı bir kod safari olmadan, bunun doğru olup olmadığından emin değilim ve birisinin neden bir sınıfı diğeri üzerinde kullanacağınıza dair net bir açıklama olmasını umuyorum.