Add script to update default category for products containing 'AMZ'
This commit is contained in:
46
change-default-category.php
Normal file
46
change-default-category.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
// Dołącz pliki konfiguracyjne PrestaShop
|
||||
include(dirname(__FILE__) . '/config/config.inc.php');
|
||||
include(dirname(__FILE__) . '/init.php');
|
||||
|
||||
use PrestaShop\PrestaShop\Adapter\ServiceLocator;
|
||||
use PrestaShop\PrestaShop\Adapter\Entity\Product;
|
||||
// use StockAvailable;
|
||||
|
||||
// ID sklepu, dla którego mają być aktualizowane produkty
|
||||
$id_shop = 151;
|
||||
|
||||
// Pobierz produkty zawierające "AMZ" w nazwie i należące do sklepu o id_shop = 2
|
||||
$sql = new DbQuery();
|
||||
$sql->select('p.id_product');
|
||||
$sql->from('product', 'p');
|
||||
$sql->innerJoin('product_shop', 'ps', 'p.id_product = ps.id_product');
|
||||
$sql->innerJoin('product_lang', 'pl', 'p.id_product = pl.id_product AND pl.id_shop = ps.id_shop');
|
||||
$sql->where("pl.name LIKE '%AMZ%'");
|
||||
// $sql->where("ps.id_shop = $id_shop");
|
||||
$sql->groupBy("p.id_product");
|
||||
|
||||
$products = Db::getInstance()->executeS($sql);
|
||||
|
||||
if (!$products) {
|
||||
echo "Nie znaleziono produktów zawierających 'AMZ' w nazwie dla sklepu ID $id_shop.";
|
||||
echo '<hr>';
|
||||
exit;
|
||||
}
|
||||
|
||||
echo count($products) . " produktów do aktualizacji.<br><hr>";
|
||||
|
||||
foreach ($products as $product) {
|
||||
$id_product = (int) $product['id_product'];
|
||||
|
||||
$update_sql = "UPDATE materac_product_shop
|
||||
SET id_category_default = 151
|
||||
WHERE id_product = $id_product";
|
||||
|
||||
Db::getInstance()->execute($update_sql);
|
||||
|
||||
echo "✔ Zaktualizowano produkt ID $id_product<br>";
|
||||
}
|
||||
|
||||
echo "<hr>Zakończono aktualizację.";
|
||||
?>
|
||||
Reference in New Issue
Block a user