/** * Get cell value for Lazada and Zalora catalog cell * @global Int $jng_sp_id * @global Array $sp_detail * @param String $column_key * @param Product $product * @param Int $aid * @return String */ function getLazadaZaloraCatalogCellValue($column_key, $product, $aid) { global $class_pa, $class_pb, $jng_sp_id, $sp_detail, $sp_values_brand, $sp_values_colors, $sp_values_navcat, $sp_values_navsubcat, $category_top_id; $lid = $sp_detail['languages_id']; if (!isset($sp_values_brand[$product->brand_id])) { $sp_brands = $class_pb->getSPbrands($product->brand_id); $sp_values_brand[$product->brand_id] = $sp_brands[$jng_sp_id]; } $product_old_function = $product->getOldProductFunction()->retrieveDetail($product->id, 'p,pd,pd2,pc,pnc,cat,pei,pci'); $category_id = $product->category_id; switch ($column_key) { //MIXED COLUMNS FROM LAZADA AND ZALORA TEMPLATE //FROM LAZADA TEMPLATE (some is also used by Zalora) case 'Name': //TODO: Create new function getNameBySalesPartner // using SalesPartner object, no more need for sp id check if ($jng_sp_id == '1001') { //LAZADA NAME if ($category_top_id == '1') { //JEWELRY $value = ucwords(strtolower($sp_values_brand[$product->brand_id])) . ' ' . $product_old_function['pd'][3]['products_name'] . ' ' . $product->getColors($lid); } else { $value = ucwords(strtolower($sp_values_brand[$product->brand_id])) . ' ' . $product->getName($lid) . ' ' . $product->getColors($lid); } } else { if ($category_top_id == '1') { $value = ucwords(strtolower($sp_values_brand[$product->brand_id])) . ' ' . $product_old_function['pd'][3]['products_name'] . ' ' . $product->getColors($lid); } else { $value = $product->getName($lid); } } break; case 'PrimaryCategory': if ($jng_sp_id == '1002') { //27.04.2015 >> zalora made changed that primary category must same with sub category $param_key = $product->getSubCategory() . '-' . $product->getProductGenderID(); $value = $sp_values_navsubcat[$param_key]; } else { $param_key = $product->getCategory()->id . '-' . $product->getProductGenderID(); $value = $sp_values_navcat[$param_key]; } break; case 'Brand': $value = $sp_values_brand[$product->brand_id]; break; case 'Categories': $param_key = $product->getSubCategory() . '-' . $product->getProductGenderID(); $value = $sp_values_navsubcat[$param_key]; break; case 'Model': $value = ''; break; case 'Color': $value = $product->getColors($lid); break; case 'SalePrice': $price = $product->getPriceSelling($jng_sp_id); $price_old = $product->getPriceSellingOld($jng_sp_id); if ($price_old <= $price) { //show blank if its not discounted $price = ''; } $value = $price; break; case 'Price': $price = $product->getPriceSelling($jng_sp_id); $price_old = $product->getPriceSellingOld($jng_sp_id); if ($price_old <= $price) { $price_old = $price; } $value = $price_old; break; case 'SaleStartDate': $price = $product->getPriceSelling($jng_sp_id); $price_old = $product->getPriceSellingOld($jng_sp_id); if ($price_old <= $price) { $sale_start_date = ''; } else { $sale_start_date = date('Y-m-d'); } $value = $sale_start_date; break; case 'SaleEndDate': $price = $product->getPriceSelling($jng_sp_id); $price_old = $product->getPriceSellingOld($jng_sp_id); if ($price_old <= $price) { $sale_end_date = ''; } else { $sale_end_date = LAZADA_ZALORA_DEFAULT_SALE_END_DATE; } $value = $sale_end_date; break; case 'SellerSku': $value = $product->getSKU($aid); break; case 'Variation': //todo: translate ring sizes if ($category_top_id == '1') { if ($category_id == '29') { $value = $product->convertRingSizeToJapaneseSize($product->getLengthOrSizeAsText($aid)); } else { $value = $jng_sp_id == '1001' ? 'One size' : 'One Size'; } } else { $value = $product->getLengthOrSizeAsText($aid); } break; case 'ProductId': $value = $product->getEAN($aid); break; case 'ParentSku': $value = $product->getSKU('0'); break; case 'Quantity': $value = $product->retrieveStockQuantity($aid); break; /* case 'ProductLine': $value = $product->getKeywords($lid); break; */ /* case 'ProductLine': $value = $product->getKeywords($lid); break; */ case 'ColorFamily': $color_sp = ''; $color_ids = $product->getColorIDAsArray(); foreach ($color_ids as $cid) { if (isset($sp_values_colors[$cid])) { $color_sp = $sp_values_colors[$cid]; break; } } $value = $color_sp; break; /* case 'MaterialFamily': $value = ''; break; case 'MainMaterial': $value = ''; break; */ /* case 'MaterialFamily': $value = ''; break; case 'MainMaterial': $value = ''; break; */ case 'Description': $value = $product->getDescription($lid); break; case 'Video': $value = ''; break; case 'ShortDescription': $value = $product->getSellingPointsAsHTML($lid); break; case 'PackageContent': if ($jng_sp_id == '1001') { //LAZADA NAME if ($category_top_id == '1') { //JEWELRY $product_name = ucwords(strtolower($sp_values_brand[$product->brand_id])) . ' ' . $product_old_function['pd'][3]['products_name'] . ' ' . $product->getColors($lid); } else { $product_name = ucwords(strtolower($sp_values_brand[$product->brand_id])) . ' ' . $product->getName($lid) . ' ' . $product->getColors($lid); } } else { if ($category_top_id == '1') { $product_name = ucwords(strtolower($sp_values_brand[$product->brand_id])) . ' ' . $product_old_function['pd'][3]['products_name'] . ' ' . $product->getColors($lid); } else { $product_name = $product->getName($lid); } } $pc_list = array(); $pc_list[] = $product_name; $pc_more_separator = '|||'; $pc_list_more = ProductAttribute::displayAttributeName($product->id, ProductAttribute::GROUP_ID_PACKAGE_CONTENT, $lid, $pc_more_separator); if ($pc_list_more != '') { $pc_list_more_array = explode($pc_more_separator, $pc_list_more); foreach ($pc_list_more_array as $pc) { $pc_list[] = $pc; } } $value = '<ul><li>' . implode('</li><li>', $pc_list) . '</li></ul>'; break; /* case 'Note': $value = ''; break; */ /* case 'Note': $value = ''; break; */ case 'MinDeliveryTime': $value = '2'; break; case 'MaxDeliveryTime': $value = '5'; break; case 'ProductMeasures': //ProductMeasures is from Lazada Template //ProductMeasures is from Lazada Template case 'Measurements': //Measurements is from Zalora Template if ($jng_sp_id == '1002') { $value = $product->displayMeasurement(1, $aid, '', $category_top_id == 1 || $category_top_id == 3 ? Product::FORMAT_DISPLAYMEASUREMENT_PM1 : Product::FORMAT_DISPLAYMEASUREMENT_AM2); } else { $value = $product->displayMeasurement($lid); } break; case 'ProductWeight': $value = $product->displayWeight($lid); break; case 'PackageHeight': //todo: use dynamic data $value = 3; break; case 'PackageWidth': //todo: use dynamic data $value = 35; break; case 'PackageLength': //todo: use dynamic data $value = 40; break; case 'PackageWeight': //todo: use dynamic data // 0.1 kg package * 300 gr default product weight $value = 0.4; break; case 'Certifications': $value = ''; break; case 'ProductionCountry': $value = ProductAttribute::displayAttributeName($product->id, ProductAttribute::GROUP_ID_ORIGIN, $lid); break; case 'ManufacturerTxt': $value = ''; break; case 'CareLabel': $value = ucfirst(strtolower(ProductAttribute::displayAttributeName($product->id, ProductAttribute::GROUP_ID_CARELABEL, $lid))); break; case 'ProductWarranty': $value = ''; break; case 'MainImage': if ($jng_sp_id == '1001') { //send to lazada for all category products with image ratio 2 x 3 $value = $product->getMainImageURL(1110, 1665); } else { $value = $product->getMainImageURL(); } break; case 'Image2': $value = $product->getAdditionalImageURL(0, ''); break; case 'Image3': $value = $product->getAdditionalImageURL(1, ''); break; case 'Image4': $value = $product->getAdditionalImageURL(2, ''); break; case 'Image5': $value = $product->getAdditionalImageURL(3, ''); break; case 'Image6': $value = $product->getAdditionalImageURL(4, ''); break; case 'Image7': $value = $product->getAdditionalImageURL(5, ''); break; case 'Image8': $value = $product->getAdditionalImageURL(6, ''); break; case 'Gender': $value = ucfirst($product->getProductGender('1')); break; case 'Season': $value = 'Year Round'; break; case 'CompositionMaterial': $value = ucfirst(strtolower(ProductAttribute::displayAttributeName($product->id, ProductAttribute::GROUP_ID_COMPOSITION, $lid, ' '))); break; case 'Year': $value = date('Y'); break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'Sizesystembrand': $value = ''; //Zalora category Shoes if ($jng_sp_id == '1002' && $category_top_id == '4') { $value = 'EU'; } break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'UpperMaterial': $value = ''; //Zalora category Shoes if ($jng_sp_id == '1002' && $category_top_id == '4') { $value = 'Synthetic Leather'; } break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'SoleMaterial': $value = ''; //Zalora category Shoes if ($jng_sp_id == '1002' && $category_top_id == '4') { $value = 'PU'; } break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'BuyerName': $value = ''; break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'ModelsName': $value = ''; break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'VirtusizeType': $value = ''; break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'ShowChart': $value = ''; break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'ShowVirtusize': $value = ''; break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'SubCatType': $value = ''; break; //FROM ZALORA TEMPLATE (not exist in Lazada) //FROM ZALORA TEMPLATE (not exist in Lazada) case 'WrapEligibility': $value = ''; break; case 'SizeOrigin': $value = ''; break; case 'Movement': $value = ''; break; case 'Strap': $value = ''; break; case 'MovementCountry': $value = ''; break; case 'Condition': $value = 'Baru'; break; default: $value = ''; } return $value; }