Masowa aktualizacja produktów (CSV/Excel). Moduł Mass Product Updater importuje plik CSV lub Excel (.xlsx) i aktualizuje cenę, stan magazynowy, status oraz identyfikatory istniejących produktów. Można zapisywać profile mapowania kolumn do wielokrotnego użycia, przeglądać każdą zmianę w podglądzie próbnym (dry-run) wiersz po wierszu, zanim cokolwiek zostanie zapisane, uruchamiać import partiami z raportem błędów dla każdego wiersza oraz w razie potrzeby cofnąć ostatnie uruchomienie. Cron chroniony tokenem umożliwia automatyzację plików od dostawców. Bez kodowania i bez zmian w szablonie.

Moduł Mass Product Updater importuje plik CSV lub Excel (.xlsx) i aktualizuje cenę, stan magazynowy, status oraz identyfikatory istniejących produktów. Można zapisywać profile mapowania kolumn do wielokrotnego użycia, przeglądać każdą zmianę w podglądzie próbnym (dry-run) wiersz po wierszu, zanim cokolwiek zostanie zapisane, uruchamiać import partiami z raportem błędów dla każdego wiersza oraz w razie potrzeby cofnąć ostatnie uruchomienie. Cron chroniony tokenem umożliwia automatyzację plików od dostawców. Bez kodowania i bez zmian w szablonie.

1. Instalacja

  1. W panelu administracyjnym (back office) należy przejść do Modules → Module Manager → Upload a module i wybrać plik ZIP modułu.
  2. Po zainstalowaniu należy kliknąć Configure, aby otworzyć kreator konfiguracji.
Aktualizacje są automatyczne. Aktualizacje są w cenie. Domeny developerskie (.local, .test, localhost) są zawsze dozwolone. Gdy dostępna jest nowa wersja, widać to bezpośrednio w module.

Jeśli zamiast potwierdzenia pojawi się komunikat „Upload failed”, PrestaShop mógł wyłączyć moduł bez powiadomienia: ustawienia i dane pozostają na swoim miejscu. Jak zaktualizować moduł i co zrobić, gdy pojawi się komunikat „Upload failed”.

2. Konfiguracja krok po kroku

Ekran Configure ma cztery zakładki: Import / update, Mapping profiles, History & rollback i Settings. Zwykły import przebiega jako krótki kreator: wgranie pliku → mapowanie kolumn → podgląd próbny → zastosowanie.

1. Wgranie pliku CSV lub Excel tu zaczynamy

W zakładce Import / update należy wybrać File (.csv / .xlsx) i kliknąć Upload. Dozwolone typy to .csv, .txt i .xlsx, do 20 MB. CSV jest w pełni obsługiwany; XLSX jest odczytywany w miarę możliwości, gdy dostępne są rozszerzenia PHP ZIP i SimpleXML. Jeśli istnieje już zapisany profil, można wybrać go w polu Use a saved profile, aby wstępnie wypełnić mapowanie i opcje źródła. Należy pamiętać: to narzędzie aktualizuje wyłącznie istniejące produkty, nigdy nie tworzy nowych.

Wgranie pliku CSV lub Excel
1. Wgranie pliku CSV lub Excel

2. Mapowanie kolumn i opcje źródła

Po wgraniu pliku moduł pokazuje podgląd nagłówka i pierwszych przykładowych wierszy, aby można było zmapować każdą kolumnę źródłową. U góry ustawia się opcje analizy pliku, a poniżej mapowanie kolumn.

  • Match products by: identyfikator używany do znalezienia produktu: Product ID, Reference, EAN13, UPC lub Supplier reference.
  • Delimiter / Enclosure: separator pól (dla tabulatora należy użyć \t) oraz znak cudzysłowu.
  • Encoding / Decimal: kodowanie pliku (np. UTF-8, ISO-8859-1, Windows-1252; jest konwertowane do UTF-8) oraz separator dziesiętny (. lub ,).
  • First row is a header: należy zaznaczyć, jeśli wiersz 1 zawiera nazwy kolumn.
  • When no product matches: Skip silently lub Report in the run log.
  • Column mapping table: dla każdej kolumny wybiera się, do czego jest przypisana: ** MATCH KEY (identifier) **, Price (tax excl.), Wholesale price, Stock quantity (set), Stock quantity (delta +/-), Specific price (fixed), Active (0/1), Weight, Reference, EAN13, UPC, Minimum quantity albo pozostawia -- ignore --.

Należy zmapować dokładnie jedną kolumnę jako MATCH KEY oraz co najmniej jedną kolumnę do pola przeznaczonego do aktualizacji.

3. Podgląd próbny i różnice (diff) zalecane

Kliknięcie Dry-run (preview) symuluje import bez zapisywania czegokolwiek. Moduł podaje, ile wierszy zostało matched, not found lub zawierało errors, i otwiera szczegóły uruchomienia z różnicami wiersz po wierszu: każde zmienione pole jest wyświetlane jako stara → nowa. Przed zastosowaniem zmian zawsze należy sprawdzić te różnice.

4. Uruchomienie importu (zastosowanie)

Gdy różnice wyglądają poprawnie, należy kliknąć Apply changes i potwierdzić. Import przebiega partiami (Batch size ustawiony w Settings określa, ile wierszy jest przetwarzanych w jednej transakcji). Na końcu pojawia się podsumowanie: updated, not found, errors z całkowitej liczby wierszy, oraz pełne szczegóły uruchomienia z dziennikiem dla każdego wiersza.

5. Mapping profiles do wielokrotnego użycia

W zakładce Mapping profiles zapisuje się mapowanie kolumn raz i używa go ponownie dla cyklicznych plików. Profil przechowuje nazwę profilu, pole dopasowania, separator / cudzysłów / kodowanie / separator dziesiętny, flagę nagłówka, zachowanie przy braku dopasowania oraz mapowanie poszczególnych kolumn (według indeksu kolumny liczonego od 0). Zapisane profile można edytować lub usuwać, a także wybierać w zakładce Import i dla crona.

6. History & rollback

Zakładka History & rollback wyświetla ostatnie uruchomienia z ich trybem (dry-run / apply), źródłem, sumami i statusem. Po otwarciu dowolnego uruchomienia widać jego statystyki, dziennik dla każdego wiersza (z filtrem według wyniku) oraz przycisk Download report (CSV). Dla zastosowanego uruchomienia można kliknąć Roll back this run, aby przywrócić poprzednie wartości każdego zmienionego pola, pod warunkiem że zachowano migawkę sprzed aktualizacji (zob. Settings).

7. Cron chroniony tokenem automatyzacja

W zakładce Settings sekcja Scheduled import (cron) udostępnia gotowy Cron URL zawierający tajny token. Należy wywoływać go z harmonogramu (np. crontab), aby zastosować wybrany Cron profile do skonfigurowanego Cron source: adresu http(s) pliku dostawcy albo zwykłej nazwy pliku umieszczonego w katalogu roboczym modułu (modules/cll_csvimport/work/). Przycisk Regenerate cron token zmienia token. Token jest wymagany i sprawdzany za pomocą skrótu.

8. Settings: wartości domyślne i dane

Zakładka Settings zawiera również: Enable the module, Batch size (20-5000 wierszy na transakcję; niższa wartość jest bezpieczniejsza na małych serwerach), domyślne opcje źródła (separator, cudzysłów, kodowanie, separator dziesiętny, nagłówek, zachowanie przy braku dopasowania) używane do wstępnego wypełniania nowych importów, Keep pre-update snapshot (umożliwia cofnięcie, należy pozostawić włączone) oraz Drop data on uninstall (domyślnie wyłączone; po włączeniu odinstalowanie usuwa wszystkie profile i historię uruchomień).

3. Sprawdzenie działania

  • Należy wgrać mały plik i uruchomić Dry-run; następnie otworzyć szczegóły uruchomienia i sprawdzić, czy różnice wiersz po wierszu pokazują oczekiwane wartości stara → nowa.
  • Należy uruchomić Apply changes dla kilku wierszy, a następnie otworzyć objęte produkty i sprawdzić, czy cena lub stan magazynowy zmieniły się zgodnie z podglądem.
  • W History & rollback należy otworzyć to zastosowane uruchomienie i kliknąć Roll back this run; następnie sprawdzić, czy produkty wróciły do poprzednich wartości.
  • Należy wkleić Cron URL w przeglądarce (lub wywołać go przez curl): w History powinno pojawić się uruchomienie dla skonfigurowanego profilu i źródła.

4. FAQ

Czy moduł tworzy nowe produkty?

Nie. Mass Product Updater aktualizuje wyłącznie produkty, które już istnieją. Wiersze, których identyfikator nie pasuje do żadnego produktu, są pomijane lub raportowane, nigdy nie są tworzone.

Jakie formaty plików są obsługiwane?

CSV (oraz tekstowy .txt z tabulatorami) jest w pełni obsługiwany. Excel .xlsx jest odczytywany w miarę możliwości, gdy dostępne są rozszerzenia PHP ZIP i SimpleXML. Akceptowane są pliki do 20 MB.

Jak działa dopasowanie produktów?

Wybiera się klucz dopasowania: Product ID, Reference, EAN13, UPC lub Supplier reference, i przypisuje do niego jedną kolumnę. Każdy wiersz jest dopasowywany do produktu według tego identyfikatora, zanim zostanie zaktualizowane jakiekolwiek pole.

Czy cofnięcie zmian jest bezpieczne?

Tak, o ile włączone jest Keep pre-update snapshot (domyślnie). Moduł przechowuje poprzednią wartość każdego zmienionego pola, więc zastosowane uruchomienie może przywrócić je dokładnie. Uruchomienie można cofnąć tylko raz.

Ładowanie...
Powrót do góry