43 $productPositions =
$category->getProductsPosition();
45 $category->setPostedProducts($productPositions);
48 }
catch (\Exception $e) {
51 'Could not save product "%1" with position %2 to category %3',
75 $category = $this->categoryRepository->get($categoryId);
76 $product = $this->productRepository->get($sku);
77 $productPositions =
$category->getProductsPosition();
80 if (!isset($productPositions[$productID])) {
81 throw new InputException(
__(
"The category doesn't contain the specified product."));
83 $backupPosition = $productPositions[$productID];
84 unset($productPositions[$productID]);
86 $category->setPostedProducts($productPositions);
89 }
catch (\Exception $e) {
92 'Could not save product "%product" with position %position to category %category',
95 "position" => $backupPosition,
__construct(\Magento\Catalog\Api\CategoryRepositoryInterface $categoryRepository, \Magento\Catalog\Api\ProductRepositoryInterface $productRepository)
deleteByIds($categoryId, $sku)
save(\Magento\Catalog\Api\Data\CategoryProductLinkInterface $productLink)