PHP / Magento Dev Blog

  • Home

GraphQL custom resolver in Magento 2 – schema, authorisation, tests

  • 0
Henryk Tews
Wednesday, 29 July 2026 / Published in Magento / Adobe Commerce

GraphQL in Magento 2 is not just a read API – you can add your own types, queries and mutations. A custom resolver is a PHP class responsible for fetching data for a given field or query. I show a complete implementation: GraphQL schema, resolver with authorisation, error handling and integration tests. Using a query fetching customer order history with filters as the example.

(more…)

Magento 2 – expired payment gateway API key detected too late

  • 0
Henryk Tews
Wednesday, 29 July 2026 / Published in Magento / Adobe Commerce

The shop stopped accepting card payments on Saturday night. Monitoring did not detect the problem because the site was working – only checkout was broken. Customers received a generic “Payment cannot be processed” error. Several hours of sales were lost before a report arrived Monday morning. Fix time: 45 minutes after the report.

(more…)

Magento 2 headless – CORS errors when calling REST API from React/Vue

  • 0
Henryk Tews
Sunday, 26 July 2026 / Published in Magento / Adobe Commerce

A new React frontend could not communicate with the Magento REST API. Every AJAX request ended with a CORS error in the browser console. The backend worked correctly when tested through Postman or curl. Fix time: 2 hours.

(more…)

Magento 2 REST API slow – missing pageSize and wrong filtering

  • 0
Henryk Tews
Friday, 24 July 2026 / Published in Magento / Adobe Commerce

An ERP integration with the shop via REST API was getting slower over time. Fetching the orders list via API took 45 seconds. The endpoint was returning the entire order history instead of the last 24 hours. Fix time: 3 hours.

(more…)

Magento 2 missing product images after server migration

  • 0
Henryk Tews
Wednesday, 22 July 2026 / Published in Magento / Adobe Commerce

After migrating the shop to a new server, product images were not displaying – grey placeholders instead. The database had file paths, but the files did not exist on disk. Fix time: 5 hours.

(more…)

Command pattern – command queue, undo/redo, Magento 2 MessageQueue

  • 0
Henryk Tews
Tuesday, 21 July 2026 / Published in Wzorce projektowe

The Command pattern encapsulates a request as an object, allowing operations to be parameterised, queued, logged and undone. In Magento 2 this pattern is the foundation of the MessageQueue system – each message is a Command executed asynchronously by a consumer. I show the implementation from the classic version through to integration with the Magento queue.

(more…)

Magento 2 custom module not loading after deployment – DI compilation error

  • 0
Henryk Tews
Sunday, 19 July 2026 / Published in Magento / Adobe Commerce

A new module version deployed to production caused a 500 error across the whole shop. DI compilation ended with an error about a missing interface. The problem was a constructor signature change without updating di.xml. Fix time: 1 hour.

(more…)

Magento 2 cart loss – Redis session and eviction policy

  • 0
Henryk Tews
Friday, 17 July 2026 / Published in Magento / Adobe Commerce

Customers were losing their cart contents and getting logged out randomly during shopping. The problem intensified on weekends with high traffic. Fix time: 2 hours.

(more…)

Xdebug 3 + DDEV + PHPStorm – debugging, profiling, flamegraph

  • 0
Henryk Tews
Thursday, 16 July 2026 / Published in Środowiska

Xdebug 3 changed the configuration approach – instead of many directives, one option xdebug.mode controls all behaviour. Combining Xdebug 3, DDEV and PHPStorm gives a complete environment: step debugger with breakpoints, a profiler generating cachegrind files, and coverage reports for PHPUnit. I show the configuration from scratch and how to analyse profiler results in PHPStorm and QCacheGrind.

(more…)

Magento 2 CSRF token error in AJAX and REST API – sessions and headers

  • 0
Henryk Tews
Wednesday, 15 July 2026 / Published in Magento / Adobe Commerce

Custom forms in the shop stopped working after a Magento update. “Invalid Form Key” error in logs. Custom AJAX endpoints threw CSRF exceptions on every request. Fix time: 2 hours.

(more…)

  • 1
  • 2
  • 3
  • 4

© 2026 Created by

TOP
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 Always active
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.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
Zobacz preferencje
  • {title}
  • {title}
  • {title}