Możliwości konfiguracji RequireJS w Magento poprzez Requirejs-config

W Magento 2 pliki JavaScript są łądowane asynchronicznie za pomocą RequireJS. Ważną częścią ekosystemu JavaScript w Magento jest plik requirejs-config.js. Za pomocą tego pliku można np. dodać mapowanie do komponentów JS lub zadeklarować mixin. W dzisiejszym artykule pokażę Ci jakie możliwości daje ten plik, który z pewnością napotkasz podczas swojej przygody z Magento.

(więcej…)

Magento 2: jak rozszerzyć uiComponent poprzez Mixin

Podczas developmentu sklepów Magento często przytrafia się taka sytuacja, że trzeba dodać drobną zmianę w logice działania uiComponentu np. zmienić jedną metodę.

Przykład z życia

Chcę na pierwszym kroku checkoutu (shipping) zobaczyć podsumowanie kosztów a głupie Magento pokazuje je dopiero na drugim kroku (payment). Co ciekawe na koszyku, który jest jakby krokiem „zero” – jest przed checkoutem takie podsumowanie kosztów widoczne.

Jeśli masz jakieś wytłumaczenie dlaczego na koszyku jest, na pierwszym kroku checkoutu nie ma, a na drugim znów jest to napisz w komentarzu!

(więcej…)

Przestrzenie nazw w JavaScript

Przestrzenie nazw w JavaScript

W mojej codziennej pracy dosyć często pracuje nad rozwojem kodu JavaScript w dużych projektach, w których owy kod JS pisało kilku developerów. Przestrzenie nazw w JavaScript nie są wbudowane w język przez co rozbudowane aplikacje narażone są na szereg niebezpieczeństw takich jak nadpisywanie zmiennych i funkcji oraz wszechobecny bałagan, który w znaczący sposób utrudnia rozwój aplikacji. W tym artykule chciałem przedstawić podejście do pisania kodu JS tak, aby nasza aplikacja była łatwa w rozbudowie, czytelna i przede wszystkim odporna na konflikty nazw.

(więcej…)