我通过XML UI组件在admin中创建了网格。 我需要通过URL参数过滤集合,我不知道如何实现这一点。我试图将RequestInterface注入到集合中,但过滤器没有用。
di.xml
<virtualType name="SlideListingDataProvider" type="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider">
<arguments>
<argument name="collection" xsi:type="object" shared="false">xxx\xxx\Model\ResourceModel\Grid\Slide\Collection</argument>
<argument name="filterPool" xsi:type="object" shared="false">SlideListingFilterPool</argument> <!-- Define new object for filters -->
</arguments>
</virtualType>
<virtualType name="SlideListingFilterPool" type="Magento\Framework\View\Element\UiComponent\DataProvider\FilterPool">
<arguments>
<argument name="appliers" xsi:type="array">
<item name="regular" xsi:type="object">Magento\Framework\View\Element\UiComponent\DataProvider\RegularFilter</item>
<item name="fulltext" xsi:type="object">Magento\Framework\View\Element\UiComponent\DataProvider\FulltextFilter</item>
</argument>
</arguments>
</virtualType>
<virtualType name="xxx\xxx\Model\ResourceModel\Grid\Slide\Collection" type="xxx\xxx\Ui\Component\DataProvider\SearchResult\Slide">
<arguments>
<argument name="mainTable" xsi:type="string">advox_sliders_slide</argument>
<argument name="resourceModel" xsi:type="string">xxx\xxx\Model\ResourceModel\Slide</argument>
</arguments>
</virtualType>
答案 0 :(得分:0)
你必须在ui components
中的update_url之后写`<item name="update_url" xsi:type="url" path="mui/index/render"/>`
在此行之后,您必须添加以下代码
<item name="filter_url_params" xsi:type="array">
<item name="status" xsi:type="boolean">1</item>
</item>
现在你必须在url中传递状态值。