Facebook
From ttt, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 224
  1. $productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
  2.  
  3. $productLink = $objectManager->create('Magento\Catalog\Api\Data\ProductLinkInterface');
  4. $collection = $productCollection
  5. ->addAttributeToSelect('*')
  6. ->addFieldToFilter('visibility', 4)
  7. ->addFieldToFilter('status',1)
  8. ->addAttributeToFilter('kolekcja', ['notnull' => true], 'left')->load();
  9. $array = array();
  10. $i = 0;
  11. $linkData = array();
  12. foreach ($collection as $product){
  13.  
  14.  
  15.     if(!count($product->getUpSellProductIds()) > 0):
  16.  
  17.     $productCollection2 = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
  18.     $collection2 = $productCollection2
  19.     ->addAttributeToSelect('*')
  20.     ->addFieldToFilter('visibility', 4)
  21.     ->addFieldToFilter('status',1)
  22.     ->addAttributeToFilter('kolekcja', $product->getKolekcja())
  23.     ->addAttributeToFilter('producent',$product->getProducent())->load();
  24.  
  25.         if($collection2):
  26.             $r = 1;
  27.      
  28.             unset( $linkData );
  29.             foreach($collection2 as $product2):
  30.          
  31.                echo $product2->getId().'</br>';
  32.                $productLink = $objectManager->create('Magento\Catalog\Api\Data\ProductLinkInterface')
  33.             ->setSku($product->getSku())
  34.             ->setLinkedProductSku($product2->getSku())
  35.             ->setPosition($r)
  36.             ->setLinkType('upsell');
  37.         $r++;
  38.         $linkData = $product->getProductLinks();
  39.         $linkData[] = $productLink;
  40.         $product->setProductLinks($linkData)->save();
  41.             endforeach;
  42.    
  43.         endif;
  44.  
  45.  
  46.     echo $product->getName();
  47.  
  48. endif;