/** * Transforms Category entity into ES document. * * @param Category $category * @param CategoryDocument $document */ public function transformCategoryToDocument(Category $category, CategoryDocument $document) { $document->setId($category->getId()); $document->setActive($category->isActive()); $document->setHidden($category->isHidden()); $document->setLeft($category->getLeft()); $document->setRight($category->getRight()); $document->setRootId($category->getRoot()->getId()); $document->setSort($category->getSort()); $document->setTitle($category->getTitle()); $document->setDescription($category->getDesc()); $document->setLongDescription($category->getLongDesc()); $document->setAttributes($this->attrToDocService->transform($category->getAttributes())); $this->extractUrls($category, $document); $parent = $category->getParent(); $parentId = $parent ? $parent->getId() : null; if (empty($parentId) === false) { $document->setParentId($parentId); } else { $document->setParentId('oxrootid'); } }
/** * Adds product variant to document. * * @param ProductDocument $document * @param Article $variant */ protected function modifyVariant($document, $variant) { $variantObject = new VariantObject(); $variantObject->setId($variant->getId()); $variantObject->setActive($variant->isActive()); $variantObject->setSku($variant->getArtNum()); $variantObject->setTitle($variant->getTitle()); $variantObject->setDescription($variant->getShortDesc()); $variantObject->setPrice($variant->getPrice()); $variantObject->setOldPrice($variant->getTPrice()); $variantObject->setStock($variant->getStock()); $variantObject->setAttributes($this->attrToDocService->transform($variant->getAttributes())); $this->extractExtensionData($variant, $variantObject); $document->addVariant($variantObject); }
/** * Test transform with non-traversable entity. */ public function testTransformNonTraversable() { $entity = new Attribute(); $this->assertEquals([], $this->service->transform($entity)); }