Zaktualizowano rozmiar pliku google-merchant_id-1.xml oraz dodano skrypt do przypisywania cech do produktów w PrestaShop.
This commit is contained in:
2
.vscode/ftp-kr.sync.cache.json
vendored
2
.vscode/ftp-kr.sync.cache.json
vendored
@@ -98,7 +98,7 @@
|
||||
},
|
||||
"google-merchant_id-1.xml": {
|
||||
"type": "-",
|
||||
"size": 18095653,
|
||||
"size": 18373587,
|
||||
"lmtime": 0,
|
||||
"modified": true
|
||||
},
|
||||
|
||||
@@ -1,34 +1,59 @@
|
||||
<?
|
||||
include 'medoo.php';
|
||||
$mdb = new medoo( [
|
||||
'database_type' => 'mysql',
|
||||
'database_name' => 'interblue_sklep',
|
||||
'server' => 'localhost',
|
||||
'username' => 'interblue_sklep',
|
||||
'password' => '2212+#++@pSVSb4',
|
||||
'charset' => 'utf8'
|
||||
] );
|
||||
<?php
|
||||
|
||||
$results = $mdb -> query( 'SELECT c.firstname, c.lastname, c.email, a.phone, COUNT(DISTINCT o.id_order) AS orders_count
|
||||
FROM ps_customer AS c
|
||||
JOIN ps_address AS a ON c.id_customer = a.id_customer
|
||||
JOIN ps_orders AS o ON c.id_customer = o.id_customer
|
||||
WHERE o.date_add > DATE_SUB(NOW(), INTERVAL 2 YEAR)
|
||||
GROUP BY c.email
|
||||
HAVING COUNT(DISTINCT o.id_order) >= 2' ) -> fetchAll( \PDO::FETCH_ASSOC );
|
||||
// Konfiguracja środowiska PrestaShop
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
require_once dirname(__FILE__) . '/config/config.inc.php';
|
||||
require_once dirname(__FILE__) . '/init.php';
|
||||
|
||||
// Otwarcie pliku CSV do zapisu
|
||||
$file = fopen('customers.csv', 'w');
|
||||
// Dodanie nagłówków kolumn do pliku CSV
|
||||
fputcsv($file, ['First Name', 'Last Name', 'Email', 'Phone']);
|
||||
// ID producentów, których produkty mają zostać zaktualizowane
|
||||
$manufacturerIds = [198, 256];
|
||||
|
||||
// Zapisanie danych do pliku CSV
|
||||
foreach ($results as $row) {
|
||||
fputcsv($file, $row);
|
||||
// ID cechy oraz jej wartości do przypisania
|
||||
$featureId = 20;
|
||||
$featureValueId = 19002;
|
||||
|
||||
// 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>';
|
||||
}
|
||||
|
||||
// Zamknięcie pliku
|
||||
fclose($file);
|
||||
|
||||
echo "Dane zostały zapisane do pliku customers.csv.";
|
||||
?>
|
||||
echo "Operacja zakończona.\n";
|
||||
|
||||
Reference in New Issue
Block a user