Skip to main navigation Skip to main content Skip to page footer

Magewire w kontekście Hyvä Themes to potężne narzędzie, ale czy rzeczywiście zastapił AJAX ? Czy wire jest tak dobry, że developerzy Headleass porzucą swoje technologie i rzucą się na PHP? Sprawdźmy.

Magewire w kontekście Hyvä Themes to potężne narzędzie, które pozwala budować dynamiczne, interaktywne komponenty w Magento 2 bez potrzeby używania JavaScriptu. Jest to "Magento’owa" wersja Livewire z Laravel – działa na zasadzie live update komponentów przez AJAX, bez przeładowania strony.


Co to jest Magewire?

Magewire to biblioteka PHP/Alpine.js, która:

  • umożliwia tworzenie dynamicznych komponentów UI (np. filtrów, formularzy, przycisków "Dodaj do koszyka"),
  • pozwala na reagowanie na działania użytkownika (inputy, kliknięcia, przełączniki),
  • przenosi logikę z JS do PHP – co przyspiesza pracę programistów Magento (PHP dev nie musi znać JS).

Jak działa Magewire w Hyvä?

  1. Komponent Magewire jest tworzony po stronie PHP jako klasa dziedzicząca po Magewire\Component.
  2. W szablonie .phtml używa się atrybutów wire:model, wire:click, wire:submit.prevent itd.
  3. Magewire automatycznie wysyła żądania AJAX do serwera i aktualizuje tylko potrzebny fragment strony.

Przykłady użycia w Hyvä:

  • dynamiczne filtrowanie produktów bez przeładowania strony,
  • przełączniki opcji (rozmiar, kolor) na kartach produktów,
  • pola input z walidacją w czasie rzeczywistym,
  • formularze kontaktowe, newsletter, zapisy,
  • konfiguratory produktów i niestandardowe kalkulatory,
  • nawigacja w multi-step checkout.

Zalety Magewire + Hyvä:

CechaKorzyść
Brak Knockout.js / jQueryLżejszy frontend, mniej kodu JS
Logika po stronie PHPDeweloper Magento nie musi pisać JS
Dynamiczny interfejsKomponenty reagujące w czasie rzeczywistym
Dostępność i SEOKomponenty są w pełni dostępne i renderowane semantycznie
Łatwa integracjaDziała natywnie z Hyvä Theme i Alpine.js

Czy Magewire zastępuje JavaScript?

Nie całkowicie. Magewire jest rozszerzeniem PHP, które ułatwia dynamiczne interakcje, ale nadal opiera się na AJAX + Alpine.js. Jednak w praktyce pozwala zredukować liczbę skryptów JS nawet o 70–90% w porównaniu do tradycyjnych podejść.