2016-07-28 180 views
4

我创建了由XML UI组件管理的网格。 我需要通过URL参数过滤集合,我不知道如何实现这一点。我试图将RequestInterface注入集合,但过滤器没有工作。Magento 2管理网格添加过滤器集合

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

你在UI组件

update_url后写这行之后,你必须添加下面的代码

<item name="filter_url_params" xsi:type="array"> <item name="status" xsi:type="boolean">1</item> </item>

现在你必须在url中传递状态值。