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
이 정보를 바탕으로 최종 사용자 프로그래머는 그리드 구성 요소를 기반 으로 두 가지 기본 클래스를 사용할 수 있습니다.
- 마 젠토 \ 프레임 워크 \보기 \ 요소 \ UiComponent \ DataProvider \ DataProvider
- 마 젠토 \ Ui \ DataProvider \ AbstractDataProvider
이 Magento\Ui\DataProvider\AbstractDataProvider
클래스는 두 가지 중 더 단순 해 보이며 Magento 자원 모델의 구성 만 필요합니다. 고객 그리드 Magento\Customer\Ui\Component\DataProvider
모듈은이 클래스를 기반으로하며 그리드 목록에 필요한 모든 정렬, 필터링 등의 기능이있는 것으로 보입니다.
존재하는 이유 Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider
가 있습니까? 아니면 데이터 공급자를 만드는 데 다른 접근 방식을 취하는 오래된 코드 또는 새로운 코드입니까? 즉, Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider
테이블에 추가 기능을 가져 오거나 시스템의 다른 부분에서 그리드로 작업을 수행 할 수 있습니까? 소스 코드를 살펴보면 Magento\Framework\App\RequestInterface
이 그리드를 통해 "무료"기능을보고 할 수 있다는 점에서 흥미로워 보입니다. 그러나 광범위한 코드 사파리가 없으면 그것이 사실인지 확실하지 않으며 누군가가 왜 한 클래스를 다른 클래스보다 사용하는지 분명하게 설명하기를 바랍니다.