【问题标题】:To add category filter in Product grid magento2在产品网格 magento2 中添加类别过滤器
【发布时间】:2016-11-18 12:25:02
【问题描述】:

我已尝试在产品网格管理区域中添加类别列。我已通过以下代码成功添加。

<column name="category" class="Chilly\Productsgrid\Ui\Component\Listing\Column\Category">
        <argument name="data" xsi:type="array">
            <item name="options" xsi:type="object">Chilly\Productsgrid\Model\Category\Categorylist</item>
            <item name="config" xsi:type="array">
                <item name="filter" xsi:type="string">select</item>
                <item name="dataType" xsi:type="string">text</item>
                <item name="label" xsi:type="string" translate="true">Categories</item>
                <item name="sortOrder" xsi:type="number">50</item>
            </item>
        </argument>
    </column>

在 Chilly\Productsgrid\Ui\Component\Listing\Column\Category.php 中,prepareDataSource() 方法

$fieldName = $this->getData('name');
    if (isset($dataSource['data']['items'])) {
        //$categories=array();
        foreach ($dataSource['data']['items'] as & $item) {
            $p_id=$item['entity_id'];
            $product=$this->_productloader->create()->load($p_id);
            $cats = $product->getCategoryIds();
            $objectManager   = \Magento\Framework\App\ObjectManager::getInstance();
            $categories=array();
            if(count($cats) ){
                foreach($cats as $cat){
                    $category = $objectManager->create('Magento\Catalog\Model\Category')->load($cat);
                    $categories[]=$category->getName();
                }

    }
    $item[$fieldName]=implode(',',$categories);
        }
    }
    return $dataSource;

在产品网格中获取类别列表。我尝试了以下代码来添加过滤器,

<item name="filter" xsi:type="string">select</item>

以及为类别过滤器下拉列表添加选项,

<item name="options" xsi:type="object">Chilly\Productsgrid\Model\Category\Categorylist</item>

类别下拉菜单出现在过滤器部分。但不要将类别列表添加到类别下拉列表。

但我担心,这是否是完成我的任务的正确方法!你能告诉我,这是正确的方法并为我提供解决方案吗?

【问题讨论】:

    标签: filter magento2


    【解决方案1】:

    通过覆盖 Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider Ui 文件修复了分类过滤器问题

    请在此处查看参考:Add Category filter to Product Grid in magento2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 2021-08-29
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多