Dokumentacja CC Masowa Aktualizacja Produktów
Kompleksowa dokumentacja dla modułu masowej aktualizacji ilości i cen produktów w PrestaShop z obsługą importu plików, zadań CRON oraz aktualizacji według kryteriów (cc_ps_mass_update_product).Spis treści
- Wprowadzenie
- Instalacja
- Aktywacja licencji
- Panel zarządzania
- Import plików
- Masowa aktualizacja według kryteriów
- Zadania CRON
- System logowania
- Typy identyfikatorów produktów
- Mapowanie kolumn
- Rozwiązywanie problemów
- FAQ
1. Wprowadzenie
CC Masowy Aktualizator Produktów to zaawansowany moduł do masowej aktualizacji ilości i cen produktów w PrestaShop. Moduł umożliwia import danych z plików CSV, Excel oraz XLS, aktualizację według kryteriów oraz automatyzację procesów za pomocą zadań CRON.Moduł oferuje:
- Import z plików CSV, XLS, XLSX z różnych źródeł (upload, serwer, URL)
- Masową aktualizację produktów według kryteriów (kategorie, cenowy zakres, producent)
- Obsługę zadań CRON w dwóch trybach (konfiguracja i parametry URL)
- Wsparcie różnych typów identyfikatorów produktów (ID, EAN, UPC, ISBN, MPN, Reference, GTIN)
- Zaawansowany system logowania operacji
- Intuicyjne mapowanie kolumn z podglądem pliku
- Walidację i kontrolę błędów
- System zarządzania licencjami
- Zapamiętywanie ustawień użytkownika
2. Instalacja
Wymagania systemowe- PrestaShop 1.7 lub nowszy
- PHP 7.1 lub nowszy
- Rozszerzenie PHP: PhpSpreadsheet (dla plików Excel)
- Minimalna ilość pamięci: 128MB
- Uprawnienia do tworzenia katalogów tymczasowych
- Pobierz plik ZIP modułu z oficjalnego sklepu cocos.codes
- Zaloguj się do panelu administracyjnego PrestaShop
- Przejdź do: Moduły → Menedżer modułów → Dodaj nowy moduł
- Kliknij „Dodaj moduł” i wybierz pobrany plik ZIP
- Po zakończeniu instalacji kliknij „Konfiguruj”
- Moduł automatycznie utworzy katalogi tymczasowe i zainstaluje wymagane ustawienia
Info
Po instalacji moduł automatycznie utworzy zakładkę „Masowy aktualizator” w menu „Usprawnienia” panelu administracyjnego oraz niezbędne katalogi robocze w folderze modułu.
3. Aktywacja licencji
Przed rozpoczęciem korzystania z pełnej funkcjonalności modułu konieczna jest aktywacja licencji:- Po instalacji przejdź do konfiguracji modułu
- Wybierz zakładkę „Licencja”
- Wprowadź klucz licencyjny otrzymany po zakupie
- Kliknij „Aktywuj licencję”
- Po pomyślnej aktywacji zobaczysz komunikat potwierdzający i odblokowane zostaną wszystkie funkcje
Ostrzeżenie
Bez aktywnej licencji moduł będzie działał w trybie ograniczonym. W górnej części panelu administracyjnego będzie wyświetlany komunikat o nieaktywnej licencji, a wszystkie operacje aktualizacji będą zablokowane.
4. Panel zarządzania
Panel zarządzania modułem dostępny jest w menu „Usprawnienia” → „Masowy aktualizator” i składa się z następujących zakładek:Główne zakładki:
- Import pliku – import danych z plików CSV/Excel
- Masowa aktualizacja – aktualizacja produktów według kryteriów
- Zadania CRON – konfiguracja automatyzacji
- Logi – podgląd i zarządzanie logami operacji
Zakładki konfiguracyjne modułu:
- Ustawienia – konfiguracja ogólna modułu
- Dokumentacja – link do instrukcji online
- Wsparcie – dostęp do pomocy technicznej
- Wtyczki – informacje o dodatkowych rozszerzeniach
- Licencja – zarządzanie licencją modułu
Wskazówka
Moduł automatycznie zapamiętuje ustawienia użytkownika (mapowania kolumn, źródła plików, typu identyfikatorów) w localStorage przeglądarki, co znacznie przyspiesza pracę przy powtarzających się operacjach.
5. Import plików
Zakładka „Import pliku” umożliwia import danych produktowych z różnych źródeł i formatów.Obsługiwane źródła plików:
- Upload pliku – przesłanie pliku bezpośrednio z komputera
- Ścieżka na serwerze – wskazanie pliku znajdującego się na serwerze
- URL do pliku – pobranie pliku z zewnętrznego adresu URL
- CSV (z automatycznym wykrywaniem separatora: , ; | tab)
- XLS (starsze pliki Excel)
- XLSX (nowsze pliki Excel)
- Wybierz źródło pliku
- Wskaż plik (upload, ścieżka lub URL)
- Wybierz typ identyfikatora produktu
- Określ, czy plik zawiera nagłówki
- Kliknij „Podgląd i mapowanie”
- Zmapuj kolumny z danymi (identyfikator, ilość, cena)
- Kliknij „Wykonaj import”
- Maksymalny rozmiar pliku: 10MB (konfigurowalny)
- Sprawdzanie formatu i integralności pliku
- Walidacja struktury danych
- Kontrola dostępności plików zewnętrznych
Notatka
Moduł automatycznie wykrywa separator w plikach CSV i obsługuje różne kodowania znaków. Pliki tymczasowe są automatycznie usuwane po zakończeniu operacji importu.
6. Masowa aktualizacja według kryteriów
Zakładka „Masowa aktualizacja” pozwala na aktualizację produktów na podstawie określonych kryteriów bez konieczności importu pliku.Dostępne kryteria selekcji:
- Kategorie – wybór produktów z określonych kategorii
- Zakres ID produktów – od określonego ID do określonego ID
- Zakres cenowy – produkty o cenach w określonym przedziale
- Producent – produkty określonego producenta
- Status – aktywne lub nieaktywne produkty
- Nowa ilość – ustawienie określonej ilości dla wszystkich wybranych produktów
- Nowa cena – ustawienie określonej ceny dla wszystkich wybranych produktów
- Można aktualizować jednocześnie ilość i cenę lub tylko jeden z parametrów
- Wybierz kryteria selekcji produktów
- Określ nowe wartości (ilość i/lub cena)
- Kliknij „Aktualizuj produkty”
- System pokaże liczbę zaktualizowanych produktów i ewentualne błędy
Ostrzeżenie
Masowa aktualizacja według kryteriów zmienia dane wszystkich produktów spełniających określone warunki. Zalecamy wykonanie kopii zapasowej bazy danych przed przeprowadzeniem masowych operacji.
7. Zadania CRON
Zakładka „Zadania CRON” umożliwia konfigurację automatycznych zadań aktualizacji produktów. Moduł oferuje dwa tryby pracy z CRON-em:Tryb konfiguracji (jeden szablon)
- Zapisanie ustawień w bazie danych
- Jedno zadanie CRON dla wszystkich automatycznych aktualizacji
- Łatwa konfiguracja przez interfejs webowy
- URL zadania: /modules/cc_ps_mass_update_product/controllers/front/cron.php?token=…
- Przekazywanie wszystkich parametrów bezpośrednio w URL
- Możliwość tworzenia wielu różnych zadań CRON
- Elastyczność konfiguracji dla zaawansowanych użytkowników
- Każde zadanie może mieć inne ustawienia
- Włącz „Zadania CRON”
- Wybierz źródło pliku (serwer lub URL)
- Wskaż ścieżkę lub URL do pliku
- Skonfiguruj typ identyfikatora i mapowanie kolumn
- Zapisz ustawienia
- Dodaj URL do crontab serwera
- token – token bezpieczeństwa (wymagany)
- source – źródło pliku (server|url)
- file_path – ścieżka do pliku na serwerze
- file_url – URL do pliku
- identifier_type – typ identyfikatora produktu
- has_header – czy plik zawiera nagłówki (1|0)
- mapping_identifier – numer kolumny z identyfikatorem
- mapping_quantity – numer kolumny z ilością
- mapping_price – numer kolumny z ceną
# Codziennie o 2:00 - tryb konfiguracji
0 2 * * * /usr/bin/curl "https://sklep.pl/modules/cc_ps_mass_update_product/controllers/front/cron.php?token=abc123"
Codziennie o 3:00 - aktualizacja ilości z serwera
0 3 * * * /usr/bin/curl "https://sklep.pl/modules/cc_ps_mass_update_product/controllers/front/cron.php?token=abc123&source=server&file_path=/var/www/files/quantities.csv&identifier_type=ean&has_header=1&mapping_identifier=0&mapping_quantity=1"
Codziennie o 4:00 - aktualizacja cen z URL
0 4 * * * /usr/bin/curl "https://sklep.pl/modules/cc_ps_mass_update_product/controllers/front/cron.php?token=abc123&source=url&file_url=https://dostawca.pl/prices.csv&identifier_type=reference&has_header=1&mapping_identifier=0&mapping_price=2"
Info
Zadania CRON zwracają odpowiedź w formacie JSON z informacjami o powodzeniu operacji, liczbie zaktualizowanych produktów oraz czasie wykonania. Wszystkie operacje są logowane w systemie logów modułu.
8. System logowania
Zakładka „Logi” udostępnia zaawansowany system śledzenia wszystkich operacji modułu.Funkcje systemu logowania:
- Automatyczne logowanie wszystkich operacji aktualizacji
- Różne poziomy logowania (INFO, WARNING, ERROR)
- Oddzielne pliki logów dla każdego dnia
- Podgląd logów bezpośrednio w panelu administracyjnym
- Możliwość pobierania pełnych plików logów
- Automatyczne czyszczenie starych logów
- Status logowania – włączenie/wyłączenie zapisywania logów
- Lista plików logów – przegląd wszystkich plików z datami i rozmiarami
- Podgląd logów – wyświetlanie ostatnich 200 linii z kolorowaniem według poziomu
- Pobieranie logów – download pełnych plików logów
- Czyszczenie starych logów – usuwanie logów starszych niż 30 dni
[2025-01-15 14:30:22] [INFO] Rozpoczynam masową aktualizację z pliku: /var/www/files/products.csv
[2025-01-15 14:30:23] [INFO] Zaktualizowano ilość produktu: ID 123, Ilość: 50
[2025-01-15 14:30:23] [WARNING] Produkt nie znaleziony po kodzie EAN: 1234567890123
[2025-01-15 14:30:25] [INFO] Masowa aktualizacja zakończona | Context: {"success":45,"failed":2}
Wskazówka
Logi są zapisywane zarówno w systemie logowania modułu, jak i w standardowych logach PrestaShop. Dzięki temu można śledzić operacje również poprzez standardowe narzędzia do analizy logów serwera.
9. Typy identyfikatorów produktów
Moduł obsługuje różne sposoby identyfikacji produktów, co zapewnia maksymalną elastyczność przy imporcie danych.Obsługiwane typy identyfikatorów:
Typ | Opis | Przykład |
ID produktu | Wewnętrzne ID PrestaShop | 123, 456, 789 |
Reference (SKU) | Kod produktu/SKU | PROD-001, ABC-123 |
EAN | Europejski kod produktu (8-13 cyfr) | 1234567890123 |
UPC | Uniwersalny kod produktu | 123456789012 |
ISBN | Numer książki | 978-3-16-148410-0 |
MPN | Numer części producenta | AB-12345 |
INDEKS | Indeks produktu (używa pola Reference) | IND-001 |
GTIN | Globalny kod handlowy (sprawdza EAN, UPC, ISBN) | Dowolny z powyższych |
Wybór odpowiedniego identyfikatora:
- ID produktu – najszybszy, ale wymagający znajomości wewnętrznych ID
- Reference/SKU – najczęściej używany w sklepach internetowych
- EAN – standard dla produktów fizycznych
- GTIN – uniwersalny, sprawdza wszystkie możliwe kody kreskowe
Notatka
Wybór odpowiedniego typu identyfikatora jest kluczowy dla powodzenia importu. Moduł automatycznie waliduje formaty identyfikatorów i informuje o błędnych wartościach w logach.
10. Mapowanie kolumn
System mapowania kolumn pozwala na elastyczne przypisanie danych z pliku do odpowiednich pól produktu.Proces mapowania:
- Po wybraniu pliku system pokazuje podgląd pierwszych 5 wierszy
- Użytkownik wskazuje, która kolumna zawiera identyfikator produktu
- Opcjonalnie wskazuje kolumny z ilością i/lub ceną
- System waliduje poprawność mapowania
- Po zatwierdzeniu następuje import danych
- Kolumna identyfikatora – zawsze wymagana
- Kolumna ilości – opcjonalna (liczby całkowite ≥ 0)
- Kolumna ceny – opcjonalna (liczby rzeczywiste ≥ 0, max 2 miejsca po przecinku)
- Minimum jedna z kolumn (ilość lub cena) musi być zmapowana
- Kolumny nie mogą być identyczne
- Moduł automatycznie zapamiętuje ostatnie mapowania w localStorage
- Mapowania są przywracane dla plików o identycznej strukturze
- Każde mapowanie zawiera informację o typie identyfikatora i nagłówkach
- Mapowania są ważne przez 7 dni
- Możliwość ręcznego wyczyszczenia zapamiętanych ustawień
ean,nazwa,ilosc,cena
1234567890123,"Produkt A",50,19.99
1234567890124,"Produkt B",30,29.99
1234567890125,"Produkt C",0,39.99
Sukces
Automatyczne zapamiętywanie mapowań znacznie przyspiesza pracę przy regularnych importach. System rozpoznaje strukturę pliku i przywraca odpowiednie ustawienia.
11. Rozwiązywanie problemów
Import pliku nie działa- Sprawdź, czy moduł ma aktywną licencję
- Upewnij się, że plik ma obsługiwany format (CSV, XLS, XLSX)
- Sprawdź rozmiar pliku (domyślnie max 10MB)
- Dla plików z serwera sprawdź uprawnienia do odczytu
- Dla URL sprawdź dostępność i poprawność adresu
- Sprawdź logi modułu w poszukiwaniu szczegółów błędu
- Sprawdź poprawność mapowania kolumn
- Zweryfikuj typ identyfikatora produktu
- Upewnij się, że identyfikatory w pliku są poprawne
- Sprawdź, czy produkty istnieją w sklepie
- Zweryfikuj format danych (liczby dla ilości i cen)
- Przejrzyj logi w poszukiwaniu ostrzeżeń
- Sprawdź poprawność tokena bezpieczeństwa
- Upewnij się, że cron jest włączony w konfiguracji (tryb konfiguracji)
- Zweryfikuj dostępność pliku źródłowego
- Sprawdź logi zadań CRON na serwerze
- Upewnij się, że URL zadania CRON jest poprawny
- Sprawdź, czy serwer może wykonywać zapytania HTTP
- Zmniejsz rozmiar importowanych plików
- Zwiększ limit czasu wykonania PHP (max_execution_time)
- Zwiększ limit pamięci PHP (memory_limit)
- Wyłącz logowanie dla bardzo dużych importów
- Użyj zadań CRON zamiast importu przez przeglądarkę
- Podziel duże pliki na mniejsze części
Błąd
Jeśli nadal napotykasz problemy, sprawdź logi PHP serwera oraz logi modułu. W przypadku błędów krytycznych skontaktuj się z wsparciem COCOS poprzez stronę cocos.codes/wsparcie.
12. FAQ
Jakie są limity dotyczące rozmiaru plików?Domyślny limit to 10MB, ale można go zwiększyć w ustawieniach modułu. Pamiętaj o limitach PHP (upload_max_filesize, post_max_size).
Czy mogę aktualizować tylko ceny bez zmiany ilości?
Tak, można aktualizować tylko ceny lub tylko ilości. W mapowaniu wystarczy wskazać odpowiednią kolumnę, a drugą pozostawić pustą.
Czy moduł obsługuje produkty z atrybutami?
Moduł aktualizuje produkty bazowe. Dla produktów z atrybutami aktualizuje się ilość i cenę produktu głównego.
Jak często mogę uruchamiać zadania CRON?
Częstotliwość zależy od wielkości plików i zasobów serwera. Zalecamy nie częściej niż co 15 minut dla dużych plików.
Czy mogę używać modułu na wielu sklepach?
Licencja obowiązuje dla jednej domeny. Dla każdego sklepu potrzebna jest oddzielna licencja.
Co się stanie z produktami, które nie zostaną znalezione?
Produkty nieznalezione są pomijane i rejestrowane w logach jako ostrzeżenia. Nie wpływa to na pozostałe produkty w imporcie.
Czy mogę przywrócić poprzednie wartości po aktualizacji?
Moduł nie tworzy automatycznie kopii zapasowych. Zalecamy wykonanie kopii zapasowej bazy danych przed masowymi operacjami.
Jak mogę zautomatyzować import z FTP?
Użyj zadań CRON z trybem „ścieżka na serwerze”, wskazując na katalog, do którego pliki są przesyłane przez FTP.
Czy moduł loguje wszystkie operacje?
Tak, wszystkie operacje są logowane z możliwością włączenia/wyłączenia tej funkcji w ustawieniach. Logi zawierają szczegółowe informacje o powodzeniu i błędach.
Jakie kodowania znaków są obsługiwane?
Moduł automatycznie wykrywa i obsługuje najpopularniejsze kodowania, w tym UTF-8, ISO-8859-1, Windows-1250.