Files
interblue.pl/custom-script.php

67 lines
1.8 KiB
PHP

<?php
// Konfiguracja środowiska PrestaShop
define('_PS_ADMIN_DIR_', getcwd());
require_once dirname(__FILE__) . '/config/config.inc.php';
require_once dirname(__FILE__) . '/init.php';
// ID producentów, których produkty mają zostać zaktualizowane
$manufacturerIds = [186];
// ID cechy oraz jej wartości do przypisania
$featureId = 20;
$featureValueId = 19010;
// Pobierz produkty od wybranych producentów
$sql = '
SELECT p.id_product
FROM ' . _DB_PREFIX_ . 'product p
WHERE p.id_manufacturer IN (' . implode(',', array_map('intval', $manufacturerIds)) . ')
';
$productIds = Db::getInstance()->executeS($sql);
if ($productIds)
{
foreach ($productIds as $product)
{
$productId = (int)$product['id_product'];
// Sprawdź, czy cecha już istnieje dla produktu
$sqlCheck = '
SELECT id_feature
FROM ' . _DB_PREFIX_ . 'feature_product
WHERE id_product = ' . $productId . ' AND id_feature = ' . (int)$featureId . '
';
$featureExists = Db::getInstance()->getValue($sqlCheck);
if (!$featureExists)
{
// Przypisz cechę do produktu
$insert = '
INSERT INTO ' . _DB_PREFIX_ . 'feature_product (id_feature, id_product, id_feature_value)
VALUES (' . (int)$featureId . ', ' . $productId . ', ' . (int)$featureValueId . ')
';
Db::getInstance()->execute($insert);
echo 'Product ID: ' . $productId . " - Feature ID: $featureId - Feature Value ID: $featureValueId\n";
echo '<br>';
echo "Dodano cechę dla produktu ID: $productId\n";
echo '<br>';
}
else
{
echo "Produkt ID: $productId już posiada tę cechę\n";
echo '<br>';
}
}
}
else
{
echo "Nie znaleziono produktów dla podanych producentów.\n";
echo '<br>';
}
echo "Operacja zakończona.\n";