public function testSingleProductFromEdited() { $ay = new \AY(53, 'h]vWu6PAuz7sfdYNZ5VqkfM^93W0k{3m'); $result = $ay->fetchProductsByIds([1966800], [ProductFields::CATEGORIES, ProductFields::VARIANTS]); $products = $result->getProducts(); $this->assertEquals(1, count($products)); $product = array_shift($products); $categories = $product->getLeafCategories(); foreach ($categories as $category) { $breadCrumb = json_encode(array_map(function ($category) { return $category->getName(); }, $category->getBreadcrumb())); } }
/** * {@inheritdoc} * * @return Model\VariantsResult */ public function createVariantsResult(stdClass $jsonObject) { $variants = []; $errors = []; $productSearchResult = false; foreach ($jsonObject->variant_product as $variantId => $productId) { if (!is_numeric($productId)) { $errors[] = (int) $variantId; } else { $variants[$variantId] = (int) $productId; } } $productIds = array_unique($variants); if (count($productIds) > 0) { // search products for valid variants $productSearchResult = $this->ay->fetchProductsByIds($productIds, [ProductFields::ATTRIBUTES_MERGED, ProductFields::BRAND, ProductFields::CATEGORIES, ProductFields::DEFAULT_IMAGE, ProductFields::DEFAULT_VARIANT, ProductFields::DESCRIPTION_LONG, ProductFields::DESCRIPTION_SHORT, ProductFields::IS_ACTIVE, ProductFields::IS_SALE, ProductFields::MAX_PRICE, ProductFields::MIN_PRICE, ProductFields::VARIANTS, ProductFields::INACTIVE_VARIANTS]); } return Model\VariantsResult::create($variants, $errors, $productSearchResult); }