2016-11-18 6 views
1

Productグリッドの管理領域にCategoryカラムを追加しようとしました。以下のコードでカテゴリを追加しました。チリー\ Productsgrid \宇井\コンポーネント\リスト\欄にProduct grid magento2にカテゴリフィルタを追加するには

<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> 

\ 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> 

カテゴリ]ドロップダウンは、フィルタ部に来ました。カテゴリードロップダウンリストにカテゴリリストを追加しないでください。

しかし、これは私の仕事を達成するための正しい方法かどうか、私は恐れている!あなたは私に教えてください、それは正しい方法であり、私にそれのための解決策を提供することができますか?

答えて

0

オーバーライドによって固定Catgeoryフィルタの問題Magentoの\カタログ宇井\データプロバイダ\製品\ ProductDataProvider宇井ファイル\

Plzはこちらを参照チェック:Add Category filter to Product Grid in magento2

関連する問題