Dodanie funkcji do przypisania produktów, kombinacji i obrazów do sklepów oraz skrócenie czasu odświeżania strony po dodaniu produktu lub kombinacji
This commit is contained in:
@@ -213,6 +213,32 @@ function calculatePriceImpact($basePrice, $combinationPrice) {
|
|||||||
return floatval(str_replace(',', '', $combinationPrice)) - floatval(str_replace(',', '', $basePrice));
|
return floatval(str_replace(',', '', $combinationPrice)) - floatval(str_replace(',', '', $basePrice));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addProductToShops($product) {
|
||||||
|
$shops = [1, 2];
|
||||||
|
foreach ($shops as $shopId) {
|
||||||
|
Db::getInstance()->execute('INSERT IGNORE INTO `'._DB_PREFIX_.'product_shop` (`id_product`, `id_shop`, `id_category_default`, `price`, `active`)
|
||||||
|
VALUES ('.(int)$product->id.', '.(int)$shopId.', 2, '.(float)$product->price.', 1)');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funkcja do przypisania kombinacji do obu sklepów
|
||||||
|
function addCombinationToShops($combination) {
|
||||||
|
$shops = [1, 2];
|
||||||
|
foreach ($shops as $shopId) {
|
||||||
|
Db::getInstance()->execute('INSERT IGNORE INTO `'._DB_PREFIX_.'product_attribute_shop` (`id_product_attribute`, `id_product`, `id_shop`, `price`)
|
||||||
|
VALUES ('.(int)$combination->id.', '.(int)$combination->id_product.', '.(int)$shopId.', '.(float)$combination->price.')');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funkcja do dodawania obrazów do obu sklepów
|
||||||
|
function addImageToShops($imageId, $productId) {
|
||||||
|
$shops = [1, 2];
|
||||||
|
foreach ($shops as $shopId) {
|
||||||
|
Db::getInstance()->execute('INSERT IGNORE INTO `'._DB_PREFIX_.'image_shop` (`id_image`, `id_product`, `id_shop`, `cover`)
|
||||||
|
VALUES ('.(int)$imageId.', '.(int)$productId.', '.(int)$shopId.', 0)');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Function to parse and import product features
|
// Function to parse and import product features
|
||||||
function importProductFeatures($productId, $featuresString) {
|
function importProductFeatures($productId, $featuresString) {
|
||||||
$features = explode('|', $featuresString);
|
$features = explode('|', $featuresString);
|
||||||
@@ -327,8 +353,11 @@ foreach ($productsBySymbol as $symbol => $products) {
|
|||||||
$mainProduct->reference = (string)$mainProductData->sku;
|
$mainProduct->reference = (string)$mainProductData->sku;
|
||||||
$mainProduct->id_category_default = 2;
|
$mainProduct->id_category_default = 2;
|
||||||
$mainProduct->link_rewrite = createLinkRewrite((string)$mainProductData->title);
|
$mainProduct->link_rewrite = createLinkRewrite((string)$mainProductData->title);
|
||||||
|
$mainProduct->id_shop_list = [1, 2]; // Przypisanie do sklepów
|
||||||
$mainProduct->add();
|
$mainProduct->add();
|
||||||
|
|
||||||
|
addProductToShops($mainProduct);
|
||||||
|
|
||||||
if (!empty($mainProductData->Cechyproduktu)) {
|
if (!empty($mainProductData->Cechyproduktu)) {
|
||||||
importProductFeatures($mainProduct->id, (string)$mainProductData->Cechyproduktu);
|
importProductFeatures($mainProduct->id, (string)$mainProductData->Cechyproduktu);
|
||||||
}
|
}
|
||||||
@@ -403,6 +432,9 @@ foreach ($productsBySymbol as $symbol => $products) {
|
|||||||
$combination->add();
|
$combination->add();
|
||||||
$combination->setAttributes($attributeIds);
|
$combination->setAttributes($attributeIds);
|
||||||
$combination->save();
|
$combination->save();
|
||||||
|
|
||||||
|
addCombinationToShops($combination);
|
||||||
|
|
||||||
$combinationAdded = true;
|
$combinationAdded = true;
|
||||||
} else {
|
} else {
|
||||||
// Update existing combination quantity if necessary
|
// Update existing combination quantity if necessary
|
||||||
@@ -421,7 +453,10 @@ foreach ($productsBySymbol as $symbol => $products) {
|
|||||||
for ($i = 1; $i <= 10; $i++) {
|
for ($i = 1; $i <= 10; $i++) {
|
||||||
$imageUrl = (string)$productData->{'images_' . $i};
|
$imageUrl = (string)$productData->{'images_' . $i};
|
||||||
if (!empty($imageUrl)) {
|
if (!empty($imageUrl)) {
|
||||||
addProductImage($mainProduct->id, $imageUrl);
|
$imageId = addProductImage($mainProduct->id, $imageUrl);
|
||||||
|
if ($imageId) {
|
||||||
|
addImageToShops($imageId, $mainProduct->id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -451,6 +486,6 @@ foreach ($productsBySymbol as $symbol => $products) {
|
|||||||
}
|
}
|
||||||
// reload page after 1s if product or combination was added
|
// reload page after 1s if product or combination was added
|
||||||
if ($productAdded || $combinationAdded) {
|
if ($productAdded || $combinationAdded) {
|
||||||
echo "<script>setTimeout(function(){location.reload();}, 5000);</script>";
|
echo "<script>setTimeout(function(){location.reload();}, 2000);</script>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user