Firma i uslugi Info

Nasz stack technologiczny dla modułów PrestaShop | mypresta.rocks

Poznaj ekosystem wspoldzielonych pakietow stojacych za modulami mypresta.rocks. 12 autorskich bibliotek, spojny interfejs admina i kompatybilnosc z wieloma.

Nie tylko moduły — platforma

Każdy moduł mypresta.rocks działa na współdzielonej podstawie 12 autorskich pakietów, które budujemy i utrzymujemy od 2012 roku. To nie są wrappery ani generatory boilerplate'u — to celowo stworzone biblioteki, które rozwiązują trudne problemy w tworzeniu modułów PrestaShop.

Gdy instalujesz jeden z naszych modułów, otrzymujesz lata skumulowanej pracy inżynierskiej: spójne interfejsy administracyjne, inteligentny wybór encji, kompatybilność z wieloma wersjami od PS 1.6 do 9.x oraz współdzieloną infrastrukturę, co oznacza, że błędy naprawione w jednym module są naprawiane wszędzie.

Współdzielone pakiety

prestashop-admin

Nasz najbardziej fundamentalny pakiet. Każdy panel administracyjny modułu jest na nim zbudowany — kompletny zestaw narzędzi UI, który zapewnia:

  • Kontrolery bazowe — MPRAdminController i MPRListController z wbudowanym AJAX-owym uploadem obrazów, edycją inline i modalami pól
  • Zaawansowane filtrowanie — filtrowanie oparte na bazie danych z sześcioma typami filtrów: tekst, zakres numeryczny, zakres dat, wybór, wielokrotny wybór i boolean
  • Zarzadzanie kolumnami — użytkownicy wybierają, które kolumny wyświetlać, zapisują presety, a stan jest zachowywany per pracownik
  • 20+ komponentów JavaScript — datepickery, modale, toasty, edytory inline, listy AJAX, wszystko współpracujące
  • 35+ stylów komponentów SCSS — spójny wygląd w każdym module i każdej wersji PrestaShop

Dlatego każdy panel administracyjny modułu mypresta.rocks wygląda i działa tak samo. To nie przypadek — to współdzielony zestaw narzędzi z ponad dekadą iteracji.

prestashop-entity-selector

Prawdopodobnie nasz najbardziej złożony pakiet. Uniwersalny widget do wybierania encji PrestaShop z logiką włączania/wyłączania.

  • 18 typów encji — produkty, kategorie, producenci, dostawcy, strony CMS, pracownicy, klienci, grupy klientów, przewoźnicy, strefy, kraje, waluty, języki, sklepy, profile, stany zamówień, podatki i inne
  • 130+ metod wyboru — wybieranie produktów po kategorii, producencie, tagu, atrybucie, cesze, kombinacji, stanie, widoczności, stanie magazynowym, zakresie cenowym, zakresie dat, zakresie ID, wzorcu nazwy i dziesiątki innych
  • Logika włączania/wyłączania — zdefiniuj, co jest włączone, a następnie wytnij wyjątki. „Wszystkie produkty w kategorii X, oprócz tych od producenta Y, chyba że są w promocji”
  • Grupowanie z AND/OR — wiele grup wyboru połączonych logiką boole'owską, każda z własnym limitem i sortowaniem
  • Podgląd na żywo — zobacz pasujące elementy aktualizujące się w czasie rzeczywistym, gdy dostosujesz warunki

Zamiast tego, by każdy moduł na nowo wymyślał wybór produktów z prostym autocomplete, wszystkie współdzielą jeden potężny, przetestowany komponent.

prestashop-compatibility

PrestaShop zmienia się znacząco między wersjami. Sygnatury kontrolerów, ścieżki szablonów, formaty odpowiedzi AJAX, nazwy hooków — wszystko różne między 1.7 a 8.x i 9.x.

Ten pakiet absorbuje te różnice. Moduły programują przeciwko stabilnemu API, a warstwa kompatybilnośći obsługuje zachowanie specyficzne dla wersji pod spodem. Tak właśnie wspieramy PS 1.6 do 9.x z jednej bazy kodu, bez zaśmiecania kodu sprawdzeniami wersji.

template-injector

Niektóre moduły muszą wstrzykiwać treść do szablonów motywu bez wymagania ręcznej edycji szablonów. Ten pakiet skanuje pliki Smarty .tpl, identyfikuje punkty wywołań hooków i wstrzykuje wyjście modułu we właściwym miejscu.

  • Automatyczne skanowanie szablonów — odkrywa punkty wstrzyknięcia w dowolnym motywie
  • Rozwiązywanie uwzględniające motyw — obsługuje motywy potomne, nadpisania szablonów i fallbacki motywu nadrzednego
  • Śledzenie wstrzyknięć — wie, co zostało wstrzyknięte gdzie, więc może się czysto usunąć przy deinstalacji
  • Zarządzanie profilami — różne konfiguracje wstrzyknięć dla różnych kontekstów

Używany przez moduły takie jak mprsubtitles, mprblogrevolution i mprhtmlblocks, które muszą umieszczać treść w miejscach, gdzie PrestaShop nie zapewnia hookow.

prestashop-url

Zarządzanie URL-ami w PrestaShop jest notarycznie kruche. Ten pakiet zapewnia właściwy silnik URL z zarządzaniem wzorcami, routingiem i obsługą cyklu życia encji.

  • Generowanie URL oparte na wzorcach — zdefiniuj wzorce URL ze zmiennymi, automatycznie generuj przyjazne SEO URL-e
  • Integracja z cyklem życia encji — gdy produkt lub kategoria jest tworzony, aktualizowany lub usuwany, URL-e aktualizują się automatycznie
  • Wymienne backendy przechowywania — wzorce oparte na bazie danych lub konfiguracji w zależności od przypadku użycia
  • Zarządzanie schematem — samodzielnie zarządza tworzeniem i migracją tabel bazy danych

Napędza mprseorevolution i mprfriendlyurl.

prestashop-icons

Motywy PrestaShop używają różnych zestawów ikon — Hummingbird używa Material Icons, Classic używa Font Awesome, niektóre motywy innych producentów używają czegoś zupełnie innego.

  • Semantyczne nazwy ikon — moduły używają nazw takich jak „cart”, „success”, „edit”, „delete” zamiast nazw klas specyficznych dla czcionki
  • Wykrywanie motywu — automatycznie wykrywa, jakiego zestawu ikon używa aktywny motyw i mapuje nazwy semantyczne na właściwe klasy
  • Self-hosting — jeśli motyw nie zawiera potrzebnej czcionki ikonowej, pakiet ją dołącza
  • Arkusze sprite SVG — 38 ikon marek płatniczych i 12 ikon mediów społecznościowych w wariantach jasnych, ciemnych i akcentowych

prestashop-session

Współdzielone śledzenie sesji między modułami, używając jednej tabeli bazy danych mpr_sessions.

  • Wykrywanie botów — identyfikuje crawlery i zautomatyzowany ruch zanim trafi do logiki modułu
  • Fingerprinting urządzeń — wykrywanie przeglądarki, systemu operacyjnego i typu urządzenia
  • Haszowanie sesji — spójna identyfikacja sesji między ładowaniami stron

Używany przez mprsecurityrevolution i mprcheckoutrevolution — współdzielą dane sesji zamiast tego, by każdy moduł śledził niezależnie.

prestashop-schedule & prestashop-public-holidays

Logika czasowa, której potrzebuje wiele modułów:

  • Widget harmonogramu — zakresy dat/godzin, cotygodniowe powtarzające się harmonogramy, obsługa stref czasowych
  • Zarządzanie świętami — scentralizowana baza świąt publicznych współdzielona między modułami za posrednictwem tabeli mpr_public_holidays
  • Używane razem — „zastosuj tę zniżkę w dni robocze z wyjątkiem świąt” w mprsalesrevolution, lub „pokaż te wyniki wyszukiwania tylko w godzinach pracy” w mprsearchrevolution

prestashop-target-conditions & prestashop-front

Nowsze pakiety w naszym ekosystemie:

  • Target Conditions — wielokrotnego użytku reguły targetowania (wedlug grupy klientów, kraju, urządzenia, wartości koszyka itp.) współdzielone między modułami wymagającymi warunkowej logiki wyświetlania
  • Komponenty front — frontendowe bloki budulcowe UI dla wyjścia modułu skierowanego do klienta, zapewniające spójne stylowanie bez konfliktów z motywem

Dlaczego to jest ważne dla Ciebie

Spójność

Każdy panel administracyjny modułu działa tak samo. Te same filtry, to samo zarządzanie kolumnami, te same skróty klawiaturowe, te same wzorce AJAX. Naucz się jednego modułu, a wiesz, jak działają wszystkie. To nie jest przewodnik po stylu — to współdzielony kod.

Niezawodność

Błąd naprawiony w prestashop-admin jest naprawiany w każdym module, który go używa, przy następnej aktualizacji. Poprawki bezpieczeństwa propagują się wszędzie. Gdy zoptymalizujemy zapytania do bazy danych entity selectora, każdy moduł z wyborem produktów staje się szybszy.

Wsparcie wielowersyjne

Warstwa kompatybilnośći oznacza, ze mozesz aktualizowac PrestaShop bez obaw o nasze moduły. Testujemy na PS 1.6, 1.7, 8.x i 9.x — a współdzielona infrastruktura obsługuje różnice, więc poszczególne moduły nie muszą tego robić.

Brak konfliktów

Moduły współdzielące tabele bazy danych (ps_mpr_config, mpr_sessions, mpr_public_holidays) są zaprojektowane do współistnienia. Zainstaluj pięć naszych modułów, a beda koordynowac sie przez współdzieloną infrastrukturę zamiast sobie przeszkadzac.

Lekkość

Współdzielone pakiety oznaczaja współdzielony kod. Entity selector nie jest duplikowany w każdym module — jest instalowany raz i używany przez wszystkie. To utrzymuje pliki ZIP modułów mniejszymi i unika rozdęcia z wielokrotnego dołączania tej samej biblioteki.

Liczby

  • 12 współdzielonych pakietów utrzymywanych jako oddzielne biblioteki z własnym wersjonowaniem
  • 30+ modułów zbudowanych na tej podstawie
  • 130+ metod wyboru encji w samym entity selectorze
  • 4 główne wersje PrestaShop obsługiwane z jednej bazy kodu (1.6, 1.7, 8.x, 9.x)
  • 20+ komponentów JavaScript admina dla spójnej interaktywności
  • 13 lat ciągłego rozwoju od 2012

Otwarta architektura

Wszystkie współdzielone pakiety używają przestrzeni nazw PHP MyPrestaRocks z autoloadingiem PSR-4. Są instalowane przez Composer jako prawdziwe zależności — nie kopiowane do katalogów modułów. Każdy pakiet ma własne ograniczenia wersji, a moduły deklarują, jakich wersji potrzebują.

To oznacza, że kiedy zaglądasz do katalogu vendor/myprestarocks/ modułu, widzisz prawdziwe, utrzymywane biblioteki — nie porzucone zrzuty kodu.

Zobacz to w akcji

Najlepszym sposobem na zrozumienie, co robią te pakiety, jest wypróbowanie modułu. Każdy moduł w naszym katalogu oferuje darmowe demo — zainstaluj go, otworz panel administracyjny i zobacz współdzieloną infrastrukturę w akcji.

Pytania o naszą architekturę lub zainteresowanie niestandardowym rozwojem? Skontaktuj się z nami.

Loading...
Back to top