Magento 2.1では、合計25のUIコンポーネントリスト/グリッドデータプロバイダーが構成され、使用されています。データプロバイダーのクラスとui_component
ファイルを以下にリストします
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
この情報に基づいて、エンドユーザープログラマーがグリッドコンポーネントのベースに使用できる2つの基本クラスがあるようです。
- Magento \ Framework \ View \ Element \ UiComponent \ DataProvider \ DataProvider
- Magento \ Ui \ DataProvider \ AbstractDataProvider
このMagento\Ui\DataProvider\AbstractDataProvider
クラスは2つのうちより単純であるようであり、Magentoリソースモデルの設定のみが必要なようです。顧客グリッドMagento\Customer\Ui\Component\DataProvider
モジュールはこのクラスに基づいており、グリッドリストに必要なすべての並べ替え、フィルタリングなどの機能を備えているようです。
存在する理由はありMagento\Framework\View\Element\UiComponent\DataProvider\DataProvider
ますか?それとも、データプロバイダーを作成するために異なるアプローチをとる古い/新しいコードですか?言い換えると、を使用するMagento\Framework\View\Element\UiComponent\DataProvider\DataProvider
と、テーブルに追加の機能が追加されますか、それともシステムの他の部分がグリッドで処理できるようになりますか?ソースコードを見ると、Magento\Framework\App\RequestInterface
興味をそそられているように見えます。これは、これらのグリッドで「無料」で機能を報告している可能性があることを意味します。ただし、広範なコードサファリがなければ、それが真実かどうかはわかりません。あるクラスを他のクラスよりも使用する理由を誰かが明確に説明してくれることを期待しています。