/** * Set the base details */ protected function setDetails() { // Shipping time $shippingTime = PlentymarketsUtils::getShippingTimeByAvailabilityId($this->ItemBase->Availability->AvailabilityID); // Active $active = $this->ItemBase->Availability->Inactive == 0 && $this->ItemBase->Availability->Webshop == 1; $details = array('active' => $active, 'ean' => $this->ItemBase->EAN1, 'minPurchase' => null, 'purchaseSteps' => null, 'maxPurchase' => null, 'purchaseUnit' => null, 'referenceUnit' => null, 'shippingtime' => $shippingTime, 'packUnit' => trim($this->ItemBase->PriceSet->Unit1), 'releaseDate' => $this->ItemBase->Published == 0 ? null : date('c', $this->ItemBase->Published), 'weight' => null, 'width' => null, 'len' => null, 'height' => null, 'attribute' => array('attr1' => $this->ItemBase->FreeTextFields->Free1, 'attr2' => $this->ItemBase->FreeTextFields->Free2, 'attr3' => $this->ItemBase->FreeTextFields->Free3, 'attr4' => $this->ItemBase->FreeTextFields->Free4, 'attr5' => $this->ItemBase->FreeTextFields->Free5, 'attr6' => $this->ItemBase->FreeTextFields->Free6, 'attr7' => $this->ItemBase->FreeTextFields->Free7, 'attr8' => $this->ItemBase->FreeTextFields->Free8, 'attr9' => $this->ItemBase->FreeTextFields->Free9, 'attr10' => $this->ItemBase->FreeTextFields->Free10, 'attr11' => $this->ItemBase->FreeTextFields->Free11, 'attr12' => $this->ItemBase->FreeTextFields->Free12, 'attr13' => $this->ItemBase->FreeTextFields->Free13, 'attr14' => $this->ItemBase->FreeTextFields->Free14, 'attr15' => $this->ItemBase->FreeTextFields->Free15, 'attr16' => $this->ItemBase->FreeTextFields->Free16, 'attr17' => $this->ItemBase->FreeTextFields->Free17, 'attr18' => $this->ItemBase->FreeTextFields->Free18, 'attr19' => $this->ItemBase->FreeTextFields->Free19, 'attr20' => $this->ItemBase->FreeTextFields->Free20)); if ($this->ItemBase->Availability->MinimumSalesOrderQuantity > 0) { $details['minPurchase'] = $this->ItemBase->Availability->MinimumSalesOrderQuantity; } if ($this->ItemBase->Availability->IntervalSalesOrderQuantity > 0) { $details['purchaseSteps'] = $this->ItemBase->Availability->IntervalSalesOrderQuantity; } if ($this->ItemBase->Availability->MaximumSalesOrderQuantity > 0) { $details['maxPurchase'] = $this->ItemBase->Availability->MaximumSalesOrderQuantity; } if ($this->ItemBase->PriceSet->Lot > 0) { $details['purchaseUnit'] = $this->ItemBase->PriceSet->Lot; } if ($this->ItemBase->PriceSet->PackagingUnit > 0) { $details['referenceUnit'] = $this->ItemBase->PriceSet->PackagingUnit; } if ($this->ItemBase->PriceSet->WeightInGramm > 0) { $details['weight'] = $this->ItemBase->PriceSet->WeightInGramm / 1000; } if ($this->ItemBase->PriceSet->WidthInMM > 0) { $details['width'] = $this->ItemBase->PriceSet->WidthInMM / 10; } if ($this->ItemBase->PriceSet->LengthInMM > 0) { $details['len'] = $this->ItemBase->PriceSet->LengthInMM / 10; } if ($this->ItemBase->PriceSet->HeightInMM > 0) { $details['height'] = $this->ItemBase->PriceSet->HeightInMM / 10; } if (strlen($this->ItemBase->PriceSet->Unit)) { try { $details['unitId'] = PlentymarketsMappingController::getMeasureUnitByPlentyID($this->ItemBase->PriceSet->Unit); } catch (PlentymarketsMappingExceptionNotExistant $E) { $details['unitId'] = null; } } $this->details = $details; }
/** * Set the base details */ protected function setDetails() { // Shipping time $shippingTime = PlentymarketsUtils::getShippingTimeByAvailabilityId($this->ItemBase->Availability->AvailabilityID); // Active $active = $this->ItemBase->Availability->Inactive == 0 && $this->ItemBase->Availability->Webshop == 1; $details = array('active' => $active, 'ean' => $this->ItemBase->EAN1, 'minPurchase' => null, 'purchaseSteps' => null, 'maxPurchase' => null, 'purchaseUnit' => null, 'referenceUnit' => null, 'shippingtime' => $shippingTime, 'packUnit' => trim($this->ItemBase->PriceSet->Unit1), 'releaseDate' => $this->ItemBase->Published == 0 ? null : date('c', $this->ItemBase->Published), 'weight' => null, 'width' => null, 'len' => null, 'height' => null, 'attribute' => null); if (PlentymarketsConfig::getInstance()->getItemFreetextsImportActionID(IMPORT_ITEM_FREETEXTS) == 1) { $details['attribute'] = array('attr1' => $this->ItemBase->FreeTextFields->Free1, 'attr2' => $this->ItemBase->FreeTextFields->Free2, 'attr3' => $this->ItemBase->FreeTextFields->Free3, 'attr4' => $this->ItemBase->FreeTextFields->Free4, 'attr5' => $this->ItemBase->FreeTextFields->Free5, 'attr6' => $this->ItemBase->FreeTextFields->Free6, 'attr7' => $this->ItemBase->FreeTextFields->Free7, 'attr8' => $this->ItemBase->FreeTextFields->Free8, 'attr9' => $this->ItemBase->FreeTextFields->Free9, 'attr10' => $this->ItemBase->FreeTextFields->Free10, 'attr11' => $this->ItemBase->FreeTextFields->Free11, 'attr12' => $this->ItemBase->FreeTextFields->Free12, 'attr13' => $this->ItemBase->FreeTextFields->Free13, 'attr14' => $this->ItemBase->FreeTextFields->Free14, 'attr15' => $this->ItemBase->FreeTextFields->Free15, 'attr16' => $this->ItemBase->FreeTextFields->Free16, 'attr17' => $this->ItemBase->FreeTextFields->Free17, 'attr18' => $this->ItemBase->FreeTextFields->Free18, 'attr19' => $this->ItemBase->FreeTextFields->Free19, 'attr20' => $this->ItemBase->FreeTextFields->Free20); } if ($this->ItemBase->Availability->MinimumSalesOrderQuantity > 0) { $details['minPurchase'] = $this->ItemBase->Availability->MinimumSalesOrderQuantity; } if ($this->ItemBase->Availability->IntervalSalesOrderQuantity > 0) { $details['purchaseSteps'] = $this->ItemBase->Availability->IntervalSalesOrderQuantity; } if ($this->ItemBase->Availability->MaximumSalesOrderQuantity > 0) { $details['maxPurchase'] = $this->ItemBase->Availability->MaximumSalesOrderQuantity; } if ($this->ItemBase->PriceSet->Lot > 0) { $details['purchaseUnit'] = $this->ItemBase->PriceSet->Lot; } if ($this->ItemBase->PriceSet->PackagingUnit > 0) { $details['referenceUnit'] = $this->ItemBase->PriceSet->PackagingUnit; } if ($this->ItemBase->PriceSet->WeightInGramm > 0) { $details['weight'] = $this->ItemBase->PriceSet->WeightInGramm / 1000; } if ($this->ItemBase->PriceSet->WidthInMM > 0) { $details['width'] = $this->ItemBase->PriceSet->WidthInMM / 10; } if ($this->ItemBase->PriceSet->LengthInMM > 0) { $details['len'] = $this->ItemBase->PriceSet->LengthInMM / 10; } if ($this->ItemBase->PriceSet->HeightInMM > 0) { $details['height'] = $this->ItemBase->PriceSet->HeightInMM / 10; } if (strlen($this->ItemBase->PriceSet->Unit)) { try { $details['unitId'] = PlentymarketsMappingController::getMeasureUnitByPlentyID($this->ItemBase->PriceSet->Unit); } catch (PlentymarketsMappingExceptionNotExistant $E) { $details['unitId'] = null; } } // Allow plugins to change the details $details = Enlight()->Events()->filter('PlentyConnector_ImportEntityItem_AfterSetDetails', $details, array('subject' => $this, 'itembase' => $this->ItemBase, 'shop' => $this->Shop)); $this->details = $details; }