2017-05-23 2 views
0

Ich möchte Produkte nach ihrem Code erstellen und Produkte zu Kategorien hinzufügen.
Wie fügen Sie Produkte zu Kategorien nach Code hinzu?
Ich habe versucht, Kategorie Produkt \Magento\Catalog\Model\Product hinzufügen, aber es gibt keine Methode setCategory oder so ähnlich.
Dann habe ich versucht, Produkte zur Kategorie Magento\Catalog\Model\Category hinzuzufügen, und dort keine Methode addProduct oder etwas ähnliches. Ich sah FunktionMagento 2 Produkt zur Kategorie hinzufügen (Code)

CategoryLinkManagementInterface -> assignProductToCategories(
$product->getSku(), 
$product->getCategoryIds() //but there is not categories yet 
) 

Antwort

0
/** 
    * @var \Magento\Catalog\Api\CategoryLinkManagementInterface 
    */ 
    protected $_categoryLinkManagement; 

$this->_categoryLinkManagement->assignProductToCategories($sku, $categoryIds); 
//where $sku is sku of product, and $categoryIds is array of real categories ids 
0

Sie benötigen Kategorie Ids und Produkt-ID-Daten gesetzt zu bekommen: impliment dies:

$this->getCategoryLinkManagement()->assignProductToCategories(
       $product->getSku(), 
       $product->getCategoryIds() 
      ); 

also impliment this function : 

private function getCategoryLinkManagement() 
{ 
    if (null === $this->categoryLinkManagement) { 
     $this->categoryLinkManagement = \Magento\Framework\App\ObjectManager::getInstance() 
      ->get('Magento\Catalog\Api\CategoryLinkManagementInterface'); 
    } 
    return $this->categoryLinkManagement; 
} 

Rest Abhängigkeit Sie sollten verwalten:

Magento\Catalog\Api\CategoryLinkManagementInterface

intialize : protected $categoryLinkManagement; 
Verwandte Themen