Może komuś się przyda.
Oryginalny opis : http://www.leonhostetler.com/blog/magento-programmatically-updating-skus-in-bulk-201205/
1)
Należy przygotować plik o nazwie sku2sku.csv zawierający "stary" i "nowy" SKU.
Wartości umieszczamy w pliku csv - oddzielone przecinkiem :
Kod: Zaznacz cały
stary_SKU,nowy_SKU
Trzeba pamiętać o formatowaniu.
Tak przygotowany plik wrzucamy na serwer np. do /var/export/ - ścieżkę definiujemy w drugim pliku.
2)
Tworzymy plik .php z zawartością jak poniżej.
Kod: Zaznacz cały
<?php
include_once './app/Mage.php';
Mage::app();
$updates_file="./var/export/sku2sku.csv";
$sku_entry=array();
$updates_handle=fopen($updates_file, 'r');
if($updates_handle) {
while($sku_entry=fgetcsv($updates_handle, 1000, ",")) {
$old_sku=$sku_entry[0];
$new_sku=$sku_entry[1];
echo "<br>Updating ".$old_sku." to ".$new_sku." - ";
try {
$get_item = Mage::getModel('catalog/product')->loadByAttribute('sku', $old_sku);
if ($get_item) {
$get_item->setSku($new_sku)->save();
echo "successful";
} else {
echo "item not found";
}
} catch (Exception $e) {
echo "Cannot retrieve products from Magento: ".$e->getMessage()."<br>";
return;
}
}
}
fclose($updates_handle);
Plik umieszczamy na serwerze - np. w katalogu głównym.
Aby uruchomić konwerter wywołujemy plik podając jego lokalizację - http://www.nazwdomeny.pl/nazwa_pliku.php
Po konwersji proponuję zmienić nazwę pliku żeby nie uruchomić go przypadkowo.