/** * Exports the item properties */ protected function exportProperties() { $Request_SetPropertiesToItem = new PlentySoapRequest_SetPropertiesToItem(); $Request_SetPropertiesToItem->PropertyToItemList = array(); // max 50 $PropertyGroup = $this->SHOPWARE_Article->getPropertyGroup(); if (!$PropertyGroup instanceof \Shopware\Models\Property\Group) { return; } /** @var Shopware\Models\Property\Value $PropertyValue */ foreach ($this->SHOPWARE_Article->getPropertyValues() as $PropertyValue) { $PropertyOption = $PropertyValue->getOption(); try { $PLENTY_propertyID = PlentymarketsMappingController::getPropertyByShopwareID($PropertyGroup->getId() . ';' . $PropertyOption->getId()); } catch (PlentymarketsMappingExceptionNotExistant $E) { PlentymarketsLogger::getInstance()->error('Export:Initial:Item:Property', 'The property »' . $PropertyGroup->getName() . ' → ' . $PropertyOption->getName() . '« could not be added to the item with the number »' . $this->SHOPWARE_Article->getMainDetail()->getNumber() . '«', 2870); continue; } $Object_SetPropertyToItem = new PlentySoapObject_SetPropertyToItem(); $Object_SetPropertyToItem->ItemId = $this->PLENTY_itemID; // int $Object_SetPropertyToItem->Lang = 'de'; // string $Object_SetPropertyToItem->PropertyId = $PLENTY_propertyID; // int $Object_SetPropertyToItem->PropertyItemValue = $PropertyValue->getValue(); // string $Request_SetPropertiesToItem->PropertyToItemList[] = $Object_SetPropertyToItem; $this->exportPropertyValueTranslations($PropertyValue->getId(), $PLENTY_propertyID); } PlentymarketsSoapClient::getInstance()->SetPropertiesToItem($Request_SetPropertiesToItem); }
/** * {@inheritDoc} */ public function getPropertyValues() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPropertyValues', array()); return parent::getPropertyValues(); }