PHP / Magento Dev Blog

  • Publikacje
  • O autorze
  • Kontakt

Custom Admin Grid w Magento 2 z UI Component

  • 0
Henryk Tews
piątek, 16 października 2026 / Opublikowano w Magento / Adobe Commerce

Własna siatka administracyjna (admin grid) w Magento 2 to zadanie, które pojawia się przy każdym większym module. Magento dostarcza tu cały UI Component framework – deklaratywny XML definiuje kolumny, filtry i akcje, a PHP dostarcza tylko DataProvider. Pokazuję minimalny, ale kompletny przykład od migracji bazy przez model po listing.xml.

(więcej…)

Magento 2 Command + Message Queue – asynchroniczne operacje w tle

  • 0
Henryk Tews
niedziela, 04 października 2026 / Opublikowano w Magento / Adobe Commerce

Magento 2 Command pattern z Message Queue to połączenie dwóch mechanizmów: Command enkapsuluje operację jako obiekt, a Message Queue wykonuje ją asynchronicznie. W praktyce: zamiast wysyłać email synchronicznie w żądaniu HTTP (blokując odpowiedź), wrzucasz wiadomość do kolejki i konsumer obsłuży ją w tle. Pokażę jak to wdrożyć na przykładzie powiadomień o zamówieniu.

(więcej…)

Magento 2 Service Contracts – Repository Interface, Data Interface i di.xml

  • 0
Henryk Tews
wtorek, 22 września 2026 / Opublikowano w Magento / Adobe Commerce

Magento 2 ma wbudowany system Service Contracts oparty na interfejsach i Data Interfaces. Zamiast wstrzykiwać modele bezpośrednio, wstrzykujesz interfejsy Repository i Data Interface. To nie tylko dobre praktyki – to jedyny sposób żeby moduł działał stabilnie po aktualizacjach i był kompatybilny z innymi modułami. Pokażę jak poprawnie używać Service Contracts na przykładzie katalogu produktów.

(więcej…)

Magento 2 checkout blokuje się na shipping step – timeout zewnętrznego carrier API

  • 0
Henryk Tews
czwartek, 10 września 2026 / Opublikowano w Magento / Adobe Commerce

Checkout zawieszał się na kroku wyboru dostawy – spinner kręcił się w nieskończoność. Klienci nie mogli przejść dalej. Problem dotyczył 100% użytkowników na wszystkich przeglądarkach. Czas diagnozy: 2 godziny, naprawy: 20 minut.

(więcej…)

Magento 2 produkt pokazuje „In Stock” przy qty=0 – niespójność MSI i legacy stock

  • 0
Henryk Tews
środa, 02 września 2026 / Opublikowano w Magento / Adobe Commerce

Produkt pokazywał „In Stock” na stronie produktu mimo że rzeczywiście nie było go na stanie. Klienci składali zamówienia na produkt który nie mógł zostać zrealizowany. Dopiero przy tworzeniu shipmentu pojawiał się błąd. Problem dotyczył produktów konfigurowalnych z MSI. Czas naprawy: 4 godziny.

(więcej…)

Magento 2 błędne ceny w multi-store – waluta bazowa i cache reguł cenowych

  • 0
Henryk Tews
wtorek, 25 sierpnia 2026 / Opublikowano w Magento / Adobe Commerce

Sklep z konfiguracją multi-store (5 sklepów, 3 waluty) zaczął pokazywać błędne ceny – cena w euro pojawiała się na sklepie w złotówkach i odwrotnie. Problem pojawił się po dodaniu nowego sklepu i dotyczył tylko produktów z regułami cen. Czas naprawy: 6 godzin.

(więcej…)

Magento 2 konto admina zablokowane przez atak brute force – odblokowanie i ochrona

  • 0
Henryk Tews
poniedziałek, 17 sierpnia 2026 / Opublikowano w Magento / Adobe Commerce

Konto administratora zostało zablokowane po ataku słownikowym – 10 000 prób logowania w ciągu godziny. Magento po 6 nieudanych próbach blokuje konto na 30 minut. Problem: atakujący ciągle resetował licznik przez zmianę IP, a prawdziwy admin nie mógł się zalogować. Czas naprawy: 1 godzina.

(więcej…)

Magento 2 cron zawieszony – 50 000 pending jobów i deadlock w cron_schedule

  • 0
Henryk Tews
niedziela, 09 sierpnia 2026 / Opublikowano w Magento / Adobe Commerce

Cron Magento 2 przestał działać – zalegało ponad 50 000 niezrealizowanych jobów w tabeli cron_schedule. Emaile transakcyjne nie wychodziły, indeksery nie aktualizowały się, reguły cenowe nie odświeżały. Sklep działał normalnie dla klientów ale „od środka” był zamrożony. Czas naprawy: 3 godziny.

(więcej…)

Magento 2 – niewidoczny błąd CSS z-index spowodował 40% spadek konwersji

  • 0
Henryk Tews
niedziela, 02 sierpnia 2026 / Opublikowano w Magento / Adobe Commerce

Sklep działał normalnie, ale konwersja nagle spadła o 40% w ciągu jednego dnia. Google Analytics pokazywał ruch na poziomie normy. Problem był niewidoczny gołym okiem – tylko przy konkretnym rozmiarze ekranu przyciski w checkoucie nachodziły na siebie i były nieaktywalne. Czas diagnozy: 3 godziny, naprawy: 30 minut.

(więcej…)

GraphQL custom resolver w Magento 2 – schemat, autoryzacja, testy

  • 0
Henryk Tews
środa, 29 lipca 2026 / Opublikowano w Magento / Adobe Commerce

GraphQL w Magento 2 to nie tylko API do odczytu – możesz dodać własne typy, queries i mutations. Custom resolver to klasa PHP która odpowiada za pobranie danych dla danego pola lub query. Pokażę kompletną implementację: schemat GraphQL, resolver z autoryzacją, obsługę błędów i testy integracyjne. Na przykładzie query pobierającego historię zamówień klienta z filtrami.

(więcej…)

  • 1
  • 2
  • 3
  • Publikacje
  • O autorze
  • Kontakt

© 2026 Created by

GÓRA
Zarządzaj zgodą
Aby zapewnić jak najlepsze wrażenia, korzystamy z technologii, takich jak pliki cookie, do przechowywania i/lub uzyskiwania dostępu do informacji o urządzeniu. Zgoda na te technologie pozwoli nam przetwarzać dane, takie jak zachowanie podczas przeglądania lub unikalne identyfikatory na tej stronie. Brak wyrażenia zgody lub wycofanie zgody może niekorzystnie wpłynąć na niektóre cechy i funkcje.
Funkcjonalne Zawsze aktywne
Przechowywanie lub dostęp do danych technicznych jest ściśle konieczny do uzasadnionego celu umożliwienia korzystania z konkretnej usługi wyraźnie żądanej przez subskrybenta lub użytkownika, lub wyłącznie w celu przeprowadzenia transmisji komunikatu przez sieć łączności elektronicznej.
Preferencje
Przechowywanie lub dostęp techniczny jest niezbędny do uzasadnionego celu przechowywania preferencji, o które nie prosi subskrybent lub użytkownik.
Statystyka
Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do celów statystycznych. Przechowywanie techniczne lub dostęp, który jest używany wyłącznie do anonimowych celów statystycznych. Bez wezwania do sądu, dobrowolnego podporządkowania się dostawcy usług internetowych lub dodatkowych zapisów od strony trzeciej, informacje przechowywane lub pobierane wyłącznie w tym celu zwykle nie mogą być wykorzystywane do identyfikacji użytkownika.
Marketing
Przechowywanie lub dostęp techniczny jest wymagany do tworzenia profili użytkowników w celu wysyłania reklam lub śledzenia użytkownika na stronie internetowej lub na kilku stronach internetowych w podobnych celach marketingowych.
  • Zarządzaj opcjami
  • Zarządzaj serwisami
  • Zarządzaj {vendor_count} dostawcami
  • Przeczytaj więcej o tych celach
Zobacz preferencje
  • {title}
  • {title}
  • {title}