Zamawiasz moduł do PrestaShop albo wtyczkę do WooCommerce i chcesz wiedzieć, jak ułożyć współpracę, żeby po wdrożeniu nie zostać z kodem, którego nikt nie umie ruszyć. W praktyce większość problemów nie wynika z samego kodu, tylko z organizacji: braku analizy, pracy bezpośrednio na produkcji i plików trzymanych wyłącznie na komputerze wykonawcy. Poniżej masz typowe błędy, checklistę do odhaczenia przed startem i odpowiedzi na pytania, które najczęściej dostajemy od firm z Józefowa i okolic. Część techniczną — strukturę modułu, hooki i wycenę — znajdziesz w pozostałych sekcjach artykułu.
Moduł w PrestaShop to katalog plików PHP w /modules/, który rejestruje się w sklepie i rozszerza jego działanie przez hooki, bez ingerencji w pliki rdzenia. Wtyczka w WordPress/WooCommerce to katalog w /wp-content/plugins/ z nagłówkiem opisującym wtyczkę w pliku głównym — WordPress sam ją wykrywa, uruchamia i pokazuje na liście wtyczek.
Trzy sygnały, że gotowa wtyczka tego nie pokryje:
Rozgraniczenie jest kluczowe: konfiguracja istniejącej wtyczki to ustawienia, reguły, szablony i uprawnienia — nie powstaje nowy kod, nie ma czego utrzymywać. Moduł niestandardowy to kod, który zostaje w repozytorium, ma dokumentację, wymaga testów po każdej aktualizacji PHP i PrestaShop oraz przeglądu przy zmianie motywu. Jeśli wykonawca proponuje ci „moduł niestandardowy”, a w środku są wyłącznie zmiany w panelu, to nie ta kategoria i nie powinieneś za to płacić jak za rozwój.
Prowadzimy takie wdrożenia dla firm z Józefowa i okolic — Krasnobrodu, Zwierzyńca, Szczebrzeszyna, Zamościa. Zanim zamówisz kod, zadaj jedno pytanie: czy ten problem da się rozwiązać ustawieniem? Jeśli tak, zacznij od tego. Jeśli nie, zaplanuj też, kto przejmie po module utrzymanie i opiekę techniczną sklepu w Józefowie po zakończeniu prac. Terminologia i struktura modułów są opisane w dokumentacji dla deweloperów PrestaShop — warto zajrzeć choćby po to, żeby rozumieć, o czym mówi wykonawca.
Porównanie robi się źle, gdy patrzy się tylko na pierwszy rok. Policz trzy lata i dołóż koszt pracy przy podnoszeniu wersji PHP — tam gotowe wtyczki potrafią zaskoczyć.
Typowa wtyczka premium do WooCommerce to wydatek rzędu 200–800 zł za rok, zależnie od zakresu i tego, czy licencja jest rozliczana w USD (dochodzi ryzyko kursowe i VAT). Przy dwóch–trzech integracjach działających równocześnie — płatności ratalne, wysyłka kurierska, faktury — schodzi się na 600–2400 zł rocznie, czyli 1800–7200 zł w trzy lata. Część wtyczek przeszła na czysty abonament: brak opłaty nie blokuje działającej strony, ale odcina aktualizacje, a to oznacza brak poprawek bezpieczeństwa.
Drugie ryzyko: autor porzuca wtyczkę. Sygnały są widoczne w nagłówku pliku — pole „WC tested up to” zatrzymane na starej wersji, brak deklaracji zgodności z HPOS (High-Performance Order Storage), ostatnia aktualizacja sprzed dwóch lat. Efekt przy PHP 8.3: ostrzeżenia w logach, konflikty z nowszym WooCommerce, czasem luka bezpieczeństwa łatana ręcznie na produkcji.
Praktyczne kryterium decyzyjne: skonfiguruj wtyczkę uczciwie i policz, ile logiki zostaje poza nią — własne przeliczenia, reguły rabatowe, mapowanie pól w integracji. Jeśli to około 20% i rośnie przy każdym nowym wymaganiu, własny kod jest tańszy w trzyletnim horyzoncie niż kolejne doklejki w pliku functions.php motywu, których nikt później nie rozczyta. Czytelnikom pracującym na WordPressie polecam też materiał o tym, jak świadomie rozszerzać stronę bez rozsypywania jej przy aktualizacji: niestandardowe bloki responsywne w Elementorze — przewodnik.
| Kryterium | Gotowa wtyczka (subskrypcja) | Własny moduł lub wtyczka |
|---|---|---|
| Koszt pierwszego roku | 200–800 zł za wtyczkę; przy 3 integracjach 600–2400 zł | 3 000–15 000 zł jednorazowo, zależnie od zakresu i liczby integracji |
| Koszt w 3 lata | 1800–7200 zł, o ile ceny licencji nie wzrosną | koszt startu plus ok. 15–20% rocznie na utrzymanie i testy |
| Aktualizacje pod nowe PHP | zależą od autora; wtyczka porzucona = brak wsparcia | po twojej stronie, ale masz repozytorium i pełną kontrolę |
| Dopasowanie do procesu | działa, dopóki proces mieści się w ustawieniach | dokładnie tak, jak zostało opisane w analizie |
| Główne ryzyko | wzrost ceny, zmiana modelu na abonament, zniknięcie z rynku | błąd wykonawcy, brak dokumentacji, uzależnienie od jednej osoby |
Moduł PrestaShop ma powtarzalną strukturę. Plik główny /modules/mojmodul/mojmodul.php zawiera klasę dziedziczącą po Module z metodami install(), uninstall(), getContent() i metodami hooków. Obok leżą: /controllers/front/ i /controllers/admin/ (własne endpointy i ekrany w panelu), /views/templates/front/, /views/templates/hook/, /views/templates/admin/, /views/css/, /views/js/, /upgrade/ ze skryptami SQL migracji oraz /config/ z plikiem config.xml. Jeśli po wdrożeniu nie ma katalogu /upgrade/, to znaczy, że przy kolejnej zmianie bazy ktoś będzie klikał ręcznie w phpMyAdmin.
Hooki, które najczęściej wchodzą w grę przy koszyku i zamówieniu: displayShoppingCart i displayShoppingCartFooter (dodatkowe pola i komunikaty w koszyku), actionCartSave (przeliczenie zawartości), actionValidateOrder (modyfikacja danych zamówienia przed zapisem), actionOrderStatusPostUpdate, displayOrderConfirmation, paymentOptions i displayAdminOrder. Opis wszystkich hooków znajdziesz w dokumentacji deweloperskiej PrestaShop.
Wtyczka WooCommerce ma plik główny z nagłówkiem (Plugin Name, Version, Requires PHP, WC requires at least, WC tested up to, Text Domain) — te pola to nie ozdoba, bo po nich poznasz, czy wtyczka jest utrzymywana. Dalej działają add_action() i add_filter(); przy filtrach podawaj priorytet, inaczej kolejność wykonania zależy od przypadku. Szablony nadpisujesz w motywie w katalogu woocommerce/, a zgodność z HPOS deklarujesz przez FeaturesUtil::declare_compatibility(). Szczegóły są w dokumentacji WooCommerce.
W obu systemach composer.json i autoloader PSR-4 to różnica między kodem, który da się rozwijać, a zbiorem require sprzed lat. Nadpisywanie plików core — edycja klas w /classes/, kopiowanie szablonów wtyczki do motywu — to dług techniczny, którego unikamy: pierwsza aktualizacja kasuje zmiany, a nikt nie pamięta, co tam było.
Każdy projekt prowadzimy w czterech etapach. Każdy etap kończy się konkretnym plikiem albo dostępem, a nie ustnym „zrobione”.
Etap 1: analiza procesu i spisanie przypadków brzegowych. Zanim powstanie pierwsza linijka kodu, opisujemy proces: kto klika co, w jakiej kolejności i co się dzieje przy anulowaniu zamówienia, zwrocie, płatności za pobraniem oraz zamówieniu rozbitym na dwie paczki. Efekt to dokument na 2–5 stron z listą przypadków brzegowych — zwykle 10–15 pozycji. Bez tego etapu każdy nietypowy scenariusz staje się osobnym, dodatkowo płatnym zleceniem w trakcie prac.
Etap 2: prototyp na środowisku stagingu. Pracujemy na kopii sklepu, np. na subdomenie staging.twojsklep.pl, z kopią bazy i plików, wyłączoną wysyłką maili do klientów i wyłączonymi płatnościami. Zero pracy bezpośrednio na produkcji. Na tym etapie moduł ma już działającą strukturę (katalog /modules/ w PrestaShop, /wp-content/plugins/ w WooCommerce) i pierwszy przepływ danych.
Etap 3: kod, testy, code review. Praca w repozytorium Git, osobne gałęzie, każda zmiana przechodzi przez pull request i przegląd drugiej osoby. Testy obejmują co najmniej: poprawne dane, brak odpowiedzi API, błędny format odpowiedzi i przekroczenie limitu czasu. Strukturę modułu opisuje dokumentacja dla deweloperów PrestaShop — warto ją przejrzeć przed rozmową z wykonawcą.
Etap 4: wdrożenie z możliwością wycofania zmian. Kopia plików i bazy przed startem, wdrożenie w oknie poza godzinami szczytu (np. 6:00–8:00), tag wersji w repozytorium. Jeśli w ciągu 48 godzin monitoringu pojawi się błąd, wracamy do kopii jednym poleceniem, a nie „łatamy na żywo”.
Co dostajesz po każdym etapie: dokumentację powdrożeniową (co robi moduł, jakie ma ustawienia, co zrobić przy błędzie), repozytorium z historią zmian oraz dostępy do stagingu, panelu i repozytorium zapisane na Twoje konto firmowe, nie na prywatne konto wykonawcy.
| Etap | Co powstaje | Co dostajesz |
|---|---|---|
| 1. Analiza | Opis procesu i lista 10–15 przypadków brzegowych | Dokument analizy z wyceną zakresu |
| 2. Prototyp | Działający przepływ na stagingu, bez wpływu na produkcję | Adres stagingu i dostęp testowy |
| 3. Kod i testy | Moduł w repozytorium Git, testy błędów API, code review | Repozytorium i raport z testów |
| 4. Wdrożenie | Wersja na produkcji z tagiem i kopią do wycofania | Dokumentacja powdrożeniowa i dostępy |
Najczęstsze pytanie brzmi: ile to będzie kosztować. Uczciwa odpowiedź to liczba godzin pomnożona przez stawkę, a nie ryczałt wzięty z sufitu. Wycenę rozbijamy na pięć pozycji:
Dla porównania: prosty moduł integracyjny (np. dodatkowe pole w zamówieniu plus eksport CSV do programu księgowego) to zwykle 30–60 h. Moduł z logiką biznesową — rabaty zależne od kategorii i historii zakupów, własny algorytm kosztu wysyłki, łącznik z ERP — startuje od 120 h i potrafi dojść do 250–300 h.
Skąd ten rozrzut? Z liczby wyjątków. Pierwsza wersja funkcji to często 40% pracy, reszta to obsługa sytuacji, których nikt nie przewidział na starcie. Dlatego do wyceny doliczamy bufor ryzyka 15–20% i mówimy o tym otwarcie, zamiast chować go w stawce.
Ryczałt bez analizy jest ryzykowny dla obu stron. Wykonawca zabezpiecza się z góry, czyli zawyża, a klient nie wie, za co płaci. Jeśli po miesiącu okaże się, że potrzebny jest jeszcze eksport faktur do ERP, przy ryczałcie zaczyna się spór o zakres. Przy rozliczeniu godzinowym po prostu dopisuje się kolejne 12 godzin do aneksu i temat jest zamknięty.
Projekt dzielimy na etapy, gdy budżet jest ograniczony, proces nie jest do końca opisany albo integrujemy się z API, do którego nie ma pełnej dokumentacji. Po każdym etapie klient decyduje, czy idziemy dalej — budżet nie jest zamrożony, a zakres można zmienić. Podobne podejście opisaliśmy w tekście o organizacji pracy przy modułach i wtyczkach w Krasnobrodzie.
| Pozycja wyceny | Prosty moduł integracyjny | Złożony moduł logiki biznesowej |
|---|---|---|
| Analiza | 8–10 h | 12–16 h |
| Kod | 15–30 h | 60–180 h |
| Testy | 5–10 h | 15–25 h |
| Wdrożenie | 3–4 h | 6–8 h |
| Dokumentacja | 2–4 h | 6–10 h |
| Razem | 30–60 h | 120–300 h |
Większość zamawianych modułów to łączniki: kurier, płatności, ERP albo program księgowy. Typowy scenariusz wygląda tak.
Etykiety i numery przesyłek. W panelu zamówienia pojawia się przycisk „Nadaj przesyłkę”. Moduł wysyła dane odbiorcy i wymiary paczki do API kuriera, odbiera etykietę w PDF albo ZPL (ZPL idzie od razu na drukarkę termiczną) i zapisuje numer przesyłki w zamówieniu. Ten numer trafia do maila do klienta automatycznie, bez ręcznego kopiowania. Pułapka: literówka w kodzie pocztowym wraca jako błąd walidacji, więc moduł musi pokazać komunikat przy konkretnym polu, a nie ogólne „błąd integracji”.
Synchronizacja z ERP. Kierunek przepływu jest kluczowy: produkty, stany magazynowe i ceny płyną z ERP do sklepu, bo ERP jest źródłem prawdy. Zamówienia, płatności i dane klientów płyną ze sklepu do ERP. Faktury wystawione w ERP wracają do sklepu jako plik do pobrania w panelu klienta. Odwrócenie tego kierunku, czyli ręczne poprawianie stanów w sklepie, kończy się rozjazdem magazynu w ciągu kilku tygodni.
Błędy API u kuriera. API padają, to normalne. Dlatego każde żądanie trafia do kolejki w bazie, a zadanie cron próbuje je wysłać co 5 minut. Trzy nieudane próby z rosnącym odstępem (1, 5, 15 minut), a potem zgłoszenie w panelu z logiem odpowiedzi i mailem do administratora. Bez kolejki jeden timeout oznacza etykietę, która nigdy nie powstanie, i paczkę, o której nikt nie pamięta.
Własny łącznik czy płatna wtyczka? Gotowa wtyczka wygrywa przy standardowym procesie i dokumentacja WooCommerce zwykle wystarcza, żeby ją wdrożyć. Przegrywa, gdy masz nietypowe mapowanie metod wysyłki, wysyłkę wielopaczkową, pobranie albo kilka magazynów — wtedy walczysz z ustawieniami, których nie da się nadpisać, i dokupujesz kolejne rozszerzenia.
Szerszy kontekst organizacji projektu, krok po kroku, znajdziesz w materiale o tym, jak zorganizować pracę przy modułach i wtyczkach w Zamościu.
| Dane | Kierunek przepływu | Częstotliwość |
|---|---|---|
| Produkty, ceny, stany magazynowe | ERP → sklep | co 15–30 min lub na zdarzenie |
| Zamówienia i płatności | sklep → ERP | na zdarzenie, po zmianie statusu |
| Numery przesyłek i statusy dostawy | kurier → sklep → klient | na zdarzenie, po nadaniu etykiety |
| Faktury i dokumenty księgowe | ERP → sklep | po wystawieniu dokumentu |
Wdrożenie modułu to moment, w którym zaczyna się jego najtrudniejszy okres. Moduł napisany pod PHP 8.1 potrafi wywalić sklep po przejściu na 8.2 — najczęściej przez dynamiczne właściwości i funkcje usunięte w PHP 8. Klient dowiaduje się o tym przy pierwszym zamówieniu, nie przy wdrożeniu.
Aktualizacja PHP i rdzenia (PrestaShop 1.7 → 8.x, WordPress + WooCommerce) powinna mieć procedurę, nie być improwizacją:
Bezpieczeństwo to druga strona medalu. Jeśli moduł ma własny endpoint, musi walidować wejście, używać tokenów CSRF i nie logować danych osobowych. Tryb developerski (_PS_MODE_DEV_, WP_DEBUG) na produkcji — nigdy.
Zakres takiej opieki, to co wchodzi w pakiet, a co jest płatne dodatkowo, opisaliśmy na stronie utrzymania i opieki technicznej sklepów Józefów. Warto też wiedzieć, o co pytać wykonawcę — dokumentacja dla deweloperów PrestaShop opisuje standard hooków i override.
| Działanie | Częstotliwość | Kto wykonuje |
|---|---|---|
| Kopia zapasowa przed zmianą | przed każdą aktualizacją | hosting lub firma utrzymaniowa |
| Retest modułu po aktualizacji rdzenia | przy każdej aktualizacji PHP/PrestaShop/WooCommerce | wykonawca modułu |
| Przegląd logów błędów | raz w tygodniu | opieka techniczna |
| Monitoring dostępności | co 1–5 minut, alert 24/7 | system + opieka techniczna |
| Aktualizacja wersji PHP | 1–2 razy w roku | wykonawca + hosting |
Większość problemów nie wynika z tego, że kod jest zły, ale z tego, że nikt nie zabezpieczył się na przyszłość. Poniżej sygnały, które widać w pierwszych pięciu minutach rozmowy z wykonawcą.
Pytania, które zadaj w jednej wiadomości i oceń odpowiedź, a nie gadkę:
Rzetelny wykonawca odpowie konkretami w ciągu jednego dnia. Odpowiedź typu „to zależy, sprawdzimy przy testach” bez żadnych szczegółów oznacza, że analizy nie było.
Ostatnia pułapka to cena. Oferta 400 zł za „prosty moduł” prawie zawsze pomija etap analizy. Pierwsza zmiana wymagań po trzech miesiącach — dodatkowe pole w formularzu, inny sposób liczenia dostawy — kosztuje wtedy więcej niż różnica między tanią i rzetelną wyceną. Tania wersja nie jest tańsza, jest tylko krócej widoczna w budżecie.
| Sygnał ostrzegawczy | Co oznacza w praktyce | Jak to sprawdzić |
|---|---|---|
| Brak dokumentacji i dostępu do repozytorium | Kod istnieje tylko u wykonawcy, nie masz jak zlecić poprawek komu innemu | Poproś o link do repo i README jeszcze przed podpisaniem umowy |
| Modyfikacje plików rdzenia | Aktualizacja PrestaShop lub WordPressa nadpisze zmiany i sklep padnie | Zapytaj, czy praca opiera się na hookach i override, i poproś o listę zmienianych plików |
| Brak środowiska stagingowego | Testy na produkcji to ryzyko przestoju i utraty zamówień | Zapytaj, gdzie zobaczysz wersję testową modułu przed wdrożeniem |
| Wycena bez etapu analizy | Zakres doprecyzuje się w trakcie, czyli każda zmiana to nowy koszt | Zapytaj, ile godzin zajmie analiza i co dostaniesz na piśmie |
| Wdrożenie przez FTP na produkcję | Brak historii zmian i trudny powrót do poprzedniej wersji | Zapytaj o sposób wdrażania i możliwość rollbacku |
Praca z pośrednikiem a bezpośrednio z deweloperem różni się trzema rzeczami: ceną, szybkością decyzji i dostępem do kodu. Pośrednik — agencja, broker, „kolega zna programistę” — dolicza zwykle 20–40% marży i wydłuża pętlę komunikacji: pytanie przechodzi przez dwie osoby, zanim dotrze do tego, kto pisze kod. Plus jest taki, że ktoś prowadzi projekt i pilnuje terminów. Minus: repozytorium i dokumentacja często zostają po stronie pośrednika.
Bezpośredni kontakt z deweloperem skraca tę drogę, ale znaczy też, że to Ty pilnujesz zakresu, odbioru i terminów. Jeśli nie chcesz robić tego sam, lepiej wybrać model, w którym jedna firma odpowiada i za kod, i za utrzymanie.
Odległość nie jest problemem — praca z Józefowa nad modułem pisanym 200 km dalej wygląda dziś normalnie. Problemem jest brak rytmu. Ustal na starcie:
Na koniec SLA. „W razie problemów dzwoń” to nie SLA. W umowie powinno być wprost: czas reakcji, czas naprawy błędu krytycznego, liczba godzin w pakiecie, co jest poza pakietem i kto płaci za aktualizacje zgodnościowe. Podobny układ opisaliśmy przy współpracy przy niestandardowych modułach i wtyczkach w Krasnobrodzie oraz przy porządku pracy przy modułach i wtyczkach w Zwierzyńcu — zasady są te same, zmienia się skala sklepu.
| Element umowy | Przykładowy zapis |
|---|---|
| Czas reakcji na zgłoszenie | do 4 godzin w dni robocze (8:00–16:00) |
| Błąd krytyczny, sklep nie przyjmuje zamówień | naprawa do 24 godzin od zgłoszenia |
| Pakiet godzin | 5 h miesięcznie, 2 niewykorzystane godziny przechodzą na kolejny miesiąc |
| Aktualizacje zgodnościowe modułu | w pakiecie, z retestem po każdej aktualizacji rdzenia |
| Przekazanie na koniec współpracy | repozytorium, README i dane dostępowe w ciągu 5 dni roboczych |
Zamawianie wyceny ryczałtowej bez analizy procesu
Jak wykryć: Wykonawca podaje kwotę po jednej rozmowie, bez dostępu do sklepu, kodu, bazy i przykładowych zamówień. W briefie są ogólniki typu „moduł do koszyka”.
Jak naprawić: Zamów 1–2 dni płatnej analizy: spis przypadków brzegowych, lista integracji wraz z wersjami API, kryteria akceptacji. Dopiero na tej podstawie ustalajcie ryczałt albo rozbij projekt na etapy.
Kod trzymany tylko na serwerze, bez repozytorium
Jak wykryć: Nie ma adresu repozytorium, nie istnieje historia zmian, pliki wgrywa się ręcznie przez FTP lub menedżer plików w panelu hostingu.
Jak naprawić: Repozytorium Git z dostępem klienta od pierwszego commita, praca na gałęziach, wdrożenia z gałęzi głównej, tagowanie wersji. To warunek, żeby ktokolwiek inny mógł przejąć kod.
Praca bezpośrednio na produkcji
Jak wykryć: Nie ma środowiska stagingowego albo jest tylko kopia sprzed roku. Testy polegają na sprawdzaniu zmian na żywym sklepie, po godzinach zamknięcia.
Jak naprawić: Staging z aktualną kopią kodu i bazy, testy przed wdrożeniem, wdrożenie z możliwością szybkiego wycofania zmian. Na produkcji nie eksperymentujemy.
Modyfikowanie plików core i nadpisywanie szablonów w motywie nadrzędnym
Jak wykryć: Po aktualizacji PrestaShop, WooCommerce albo motywu funkcja przestaje działać lub cofa się do stanu sprzed miesięcy. W plikach core widać daty inne niż wersja wydania.
Jak naprawić: Wszystkie zmiany przez hooki, override w module lub child theme. Pliki core i motyw nadrzędny zostają nietknięte — inaczej każda aktualizacja to loteria.
Brak dokumentacji i instrukcji wdrożenia
Jak wykryć: Nikt oprócz autora nie potrafi włączyć modułu na nowym środowisku. Nie ma opisu konfiguracji, wymaganych wersji PHP i changelogu.
Jak naprawić: README z wymaganiami (wersja PHP, wersja PrestaShop lub WooCommerce), lista używanych hooków, opis konfiguracji po instalacji oraz changelog prowadzony przy każdym wydaniu.
Mylenie konfiguracji gotowej wtyczki z własnym kodem
Jak wykryć: Faktura opiewa na „wtyczkę niestandardową”, a w przekazanym pakiecie są wyłącznie pliki ustawień gotowego pluginu i eksport konfiguracji.
Jak naprawić: W briefie rozdziel trzy rzeczy: co robi gotowa wtyczka, co dopisujemy my i kto odpowiada za aktualizacje po wdrożeniu. Jeśli całość to tylko klikanie w panelu, płacisz za konfigurację, nie za kod.
Niestandardowy moduł albo wtyczka to przede wszystkim projekt organizacyjny, a dopiero potem zadanie programistyczne. Najwięcej pieniędzy traci się nie na stawce godzinowej, tylko na pracy bez analizy, bez repozytorium i bez środowiska testowego. Jeśli przed startem masz spisany proces, listę przypadków brzegowych i jasny podział odpowiedzialności po wdrożeniu, ryzyko spada bardziej niż przy wyborze tańszego wykonawcy. Podobne zasady porządkowania pracy opisujemy też przy projektach w innych miastach, np. Niestandardowe moduły i wtyczki Krasnobród: organizacja pracy.
Nie. Konfiguracja to ustawienia wtyczki, którą ktoś już napisał — płacisz za czas pracy w panelu, nie za kod. Moduł niestandardowy to oddzielny kod, który rozszerza sklep o logikę nieobsługiwaną przez żadne gotowe rozwiązanie. Granica jest praktyczna: jeśli po ustawieniu wtyczki 20% procesu nadal robisz ręcznie, to sygnał, że potrzebujesz własnego kodu albo integracji.
Od spisania procesu na papierze i listy przypadków brzegowych. Dopiero potem warto rozmawiać o technologii i wycenie. Dobrze jest też od razu ustalić, gdzie powstaje repozytorium, kto ma do niego dostęp i jak wygląda środowisko testowe.
Nie zawsze. Część rzeczy można oprzeć na gotowych wtyczkach i dopisać tylko brakujący fragment. Warto wtedy ustalić, co zostaje w gotowym pluginie, a co jest naszym kodem, i pilnować aktualizacji obu części. Jeśli projekt dotyczy warstwy prezentacji, zobacz nasz przewodnik po niestandardowych blokach Elementora: Elementor: niestandardowe bloki responsywne.
Najpierw przestają przychodzić aktualizacje pod nowe wersje PHP i sklepu, a po jakimś czasie wtyczka zaczyna generować błędy lub konflikty. Jeśli proces sklepu zależy wyłącznie od niej, robi się problem: trzeba szybko napisać własny odpowiednik albo zaakceptować ręczną obsługę. Dlatego przy krytycznych funkcjach pytamy, kto rozwinie kod, gdy autor zniknie, i kto jest właścicielem rozwiązania.
Przetrwa, jeśli nie dotyka plików core i korzysta z hooków w sposób przewidziany przez twórców platformy. Po każdej dużej aktualizacji trzeba jednak sprawdzić działanie na stagingu, bo zmiany w hookach i API zdarzają się nawet w wersjach pośrednich. Aktualną listę mechanizmów rozszerzeń znajdziesz w dokumentacji dla deweloperów PrestaShop i w dokumentacji WooCommerce.
Tak i przy większych wdrożeniach zwykle to proponujemy. Pierwszy etap to analiza i prototyp na stagingu, drugi to właściwy kod z testami i przeglądem, trzeci wdrożenie i dokumentacja. Po każdym etapie klient dostaje działający fragment, repozytorium i zapis ustaleń, więc może zdecydować, czy iść dalej.
Jeśli chcesz przejść przez taki projekt etapami — od analizy procesu do wdrożenia z dokumentacją — napisz do nas i opisz krótko, co ma robić moduł. Powiemy wprost, czy wystarczy konfiguracja gotowego rozwiązania, czy potrzebny jest własny kod.