Profesjonalny moduł dla administratorów sklepów PrestaShop
Ten moduł uzupełnia standardowy log PrestaShop o ultra-precyzyjne informacje nt wszystkich akcji wykonywanych akcji, w tym informacje o wartościach przed i po zapisaniu wszystkich wartości możliwych do zmiany w panelu administracyjnym sklepu.
Moduł obsługuje ogromne ilości danych i wydajnie zapisuje je w 4-poziomowym systemie fallbacków: Redis → Memory → RAM → Plik
Funkcjonalności
- 4-poziomowy system fallbacków: Redis → Memory → RAM → Plik
- Logowanie działań administracyjnych: dodawanie, edycja, usuwanie obiektów
- Logowanie działań API: identyfikacja kluczy API
- Interfejs administratora: przeglądanie i filtrowanie logów
- Migracja automatyczna: skrypty CRON do przetwarzania logów
- Wydajność: minimalny wpływ na działanie sklepu
Automatyczne logowanie
- Obiekty: Product, Category, Order, Customer, etc.
- Moduły: instalacja/deinstalacja
- Konfiguracja: zmiany ustawień sklepu
- API: wywołania z identyfikacją klucza



Architektura logowania
Jeśli któryś z systemów jest wyłączony lub niedostępny, moduł automatycznie przeskoczy do następnego poziomu.
- Redis (najwyższa wydajność, rekomendowany)
RPUSH
logów do kolejkiactivity_log
- Asynchroniczne przetwarzanie przez cron
- MySQL Memory Table (wysoka wydajność)
- Tabela
ps_activity_log_buffer
(ENGINE=MEMORY) - Szybkie operacje w pamięci RAM
- Tabela
- In-memory Buffer (średnia wydajność)
- Tablica PHP w pamięci przez cały request
- Flush na końcu wykonania (
shutdown
)
- Plik NDJSON (fallback)
- Zapis do
var/logs/activity_fallback.ndjson
- Migracja przez cron do bazy danych
- Zapis do
Struktura loga
{
"action": "create|update|delete|config|install|uninstall",
"object_type": "Product",
"object_id": 123,
"employee_id": 1,
"api_key": "Bearer xyz...",
"context": "{
"controller": "AdminProducts",
"object_name": "Test Product",
"product_reference": "REF123",
"product_active": "1",
"changed_fields": "update_detected",
"update_timestamp": "2024-01-01 12:00:00",
"ip_address": "192.168.1.1",
"user_agent": "Mozilla/5.0..."
}",
"created_at": "2024-01-01 12:00:00"
}
Rozszerzony kontekst dla różnych obiektów
- Product:
product_reference
,product_active
- Category:
category_active
,parent_category
- Order:
order_state
,order_total
- Customer:
customer_email
,customer_active
- Module:
module_name
,module_version
,module_author
,module_display_name
Śledzenie zmian Before/After
Moduł automatycznie śledzi zmiany na poziomie pól używając hooków Before/After:
- Hooki Before:
hookActionObjectUpdateBefore
,hookActionObjectDeleteBefore
- Hooki After:
hookActionObjectUpdateAfter
,hookActionObjectDeleteAfter
- Definicje ObjectModel: Wykorzystuje
$definition['fields']
dla precyzyjnego śledzenia - Wykrywanie zmian: Porównuje wartości przed i po modyfikacji
Przykład kontekstu zmian pól:
{
"field_changes": {
"name": {
"from": "Stara nazwa produktu",
"to": "Nowa nazwa produktu"
},
"price": {
"from": 19.99,
"to": 29.99
},
"active": {
"from": 0,
"to": 1
}
}
}
Przeglądanie logów
W panelu administracyjnym przejdź do Parametry zaawansowane → Activity Logs:
- Filtrowanie po akcji, typie obiektu, pracowniku
- Wyszukiwanie po dacie, ID obiektu
- Szczegóły kontekstu każdego loga
- Status storage - informacje o dostępnych systemach
Testy jednostkowe
Moduł jest wyposażony w automatyczne testy jednostkowe, dzięki którym jego poprawne działanie w Twoim sklepie jest bardzo wysoce prawdopodobne.
Uruchomienie testów
cd modules/pshowlogger
vendor/bin/phpunit
Pokrycie testów
- ActivityLogger (singleton, logowanie, flush)
- StorageManager (fallbacks, batch operations)
- FileStorage (NDJSON, retrieve, clear)
- LogMigrator (migracja, cleanup)
Bezpieczeństwo
- Employee ID: automatyczne pobieranie z kontekstu PrestaShop
- API Key: detekcja z nagłówków Authorization
- Escape SQL: wszystkie dane są bezpiecznie escapowane
- File permissions: odpowiednie uprawnienia dla plików logów
- Class exclusions: możliwość wykluczenia wrażliwych klas (np. EmployeeSession)
Wymagania techniczne
- PHP 7.1 - 8.x
- Rozszerzenie serwera ionCube Loader
- Tylko PrestaShop Importer: PHP libxml w wersji > 2.9.3
- Tylko PrestaShop Facebook Integrator: PHP 7.2 lub wyższe
- Tylko PrestaShop VAT Walidator: PHP SOAP
Wsparcie = Aktualizacje + HelpDesk
Otrzymujesz 90 dni (3 miesiące) dostępu do kompletnego pakietu wsparcia PrestaShow.
Aktualizacje modułów
Moduły poinformują Cię o dostępnych aktualizacjach. Zapoznaj się z listą zmian (changelog) i wykonaj aktualizację modułu 1-kliknięciem bezpośrednio w Twoim sklepie.
Panel HelpDesk
To panel, w którym dostarczymy Ci pomoc. Na HelpDesk możesz zgłaszać problemy, zamówić darmową instalację i aktualizację modułu oraz zamawiać modyfikacje i indywidualne prace programistyczne.
> > > Wydłuż wsparcie
Po wygaśnięciu wsparcia możesz korzystać z modułu bez żadnych ograniczeń. Dostęp do wsparcia możesz odnowić w dowolnym momencie, gdy będziesz tego potrzebował.
Baza Wiedzy & FAQ
Za darmo na zawsze
Baza wiedzy
Jest dostępna dla wszystkich. Znajdziesz w niej dokumentacje modułów oraz instrukcje, filmy i odpowiedzi na najczęściej zadawane pytania.
Dożywotnia licencja na moduł
- Moduł możesz używać bez ograniczeń w 1 sklepie = 1 domena.
- Możesz używać dodatkowej domeny, np. dla kopi developerskiej.
- Za niewielką opłatą możesz samodzielnie zmienić domenę dla modułu.
Dodatkowe domeny dla Multistore
- Wszystkie nasze moduły obsługują PrestaShop Multistore.
- Obsługa nielimitowanej liczby domen dla PrestaShop Multistore wymaga zakupienia obsługi multistore dla modułu.
Modyfikowanie kodu
- Kod modułu związany z integracją ze sklepem oraz z wyglądem (.tpl, .css, .js) ma otwarty kod źródłowy i możesz go dowolnie modyfikować.
- Kod źródłowy modułu (.php) szyfrowany jest ionCube, a jego modyfikacja wiąże się z utratą gwarancji.
Demo - przetestuj moduł
- Moduł możesz przetestować w naszym sklepie demo.
- Link do sklepu demo znajdziesz w górnej sekcji strony ⬆️
- W razie problemów z działaniem demo skontaktuj się z nami
Brak powiązanych wpisów blogowych.
Brak komentarzy.