od Podstaw
5 godz. 56 min · PHP · Full-stack i Programowanie
Patryk WaluśBackend DeveloperZanim przejdziemy do omawiania możliwości Magento, przedstawię Ci w jaki sposób skonfigurować środowisko developerskie oraz jak zainstalować nowy projekt. Omówimy też polecenia i narzędzia, które są przydatne podczas pracy developerów.
Rozpoczniemy od przedstawienia oraz omówienia funkcji poszczególnych katalogów, które znajdują się w projekcie. Po wstępie stworzymy swój pierwszy moduł oraz przedstawię podstawowe techniki wykorzystywane przez Magento do zarządzania konfiguracjami czy modułami.
Magento wykorzystuje bardzo popularny wzorzec MVC, który składa się z trzech elementów. Aby z łatwością rozumieć jak system obsługuje żądania HTTP najpierw przestawię ogólne działanie MVC, a następnie jak to działa w Magento.
Szczegółowe omówienie wzorca MVC rozpoczniemy od literki C czyli Controller'a. W tym rozdziale dowiesz się jak zarejestrować w systemie nową ścieżkę, jak pobierać parametry oraz w jaki sposób zwrócić rezultat odpowiedni dla danego przypadku.
Gdy już zarejestrujemy nową stronę, konieczne będzie zdefiniowanie jej wyglądu. Dlatego też, przedstawię Ci jak to zrobić oraz jakie możliwości Magento udostępnia do manipulacji układem stron. Omówię różnice między kontenerem, a blokiem oraz pokaże jak modyfikować tagi w sekcji.
Aby wcześniej dodana strona była funkcjonalna, konieczna jest jej integracja z bazą danych. Do tego celu stworzymy m.in. Model, za pomocą którego będziemy komunikować się z MySQL. Przedstawię Ci też dobre praktyki, które pozwalają na tworzenie kodu wysokiej jakości.
W ostatnim rozdziale omówimy konfigurację nowego motywu w Magento. Pozwoli Ci to zrozumieć jak tworzyć różne wersje wyglądu dla sklepów internetowych.
Ten kurs w szczególności przyda się osobom, które chcą poznać podstawy framework'a Magento 2. Przedstawione w nim fundamentalne informacje pomogą zrozumieć sposób działania systemu, a także w jaki sposób można dodawać czy rozszerzać swój projekt o nowe funkcjonalności.
Lekcji opowiemy o strefach marzeń to najpierw powiem do czego one
służą a następnie przedstawię jakie one są więc zacznijmy od tego że strefy pozwalają
na to aby rozdzielić logicznie system na właśnie strefę.
Czyli możemy zapewnić aby w jednej strefie
została zakończona pewna konfiguracja a w innej już nie.
Tak samo możemy zapewnić aby pewne pliki zostały uruchomione lub nie.
Dzieje się to właśnie podczas ładowania
systemu który na podstawie adresu URL rozpoznaje w której strefie się znajduje.
Mówimy sobie to na przykładzie przygotowanej przeze mnie prezentacji.
Zacznijmy od tego że po wejściu na stronę
naszego sklepu na samym dole prezentacji znajduje się
informacja o adresie URL każdy adres URL jest przez to potraktowane
w ten sposób że pierwszy człon po domenie jest to nazwane tak nazwane.
Następne jest to kontroler oraz akcja każde żądanie przechodzi przez plik PAP
index php czyli podczas wchodzenia na stronę czy wykonywania jakiejś metody API.
Ten plik jest uruchamiany najpierw wspominałem o tym wcześniej że on właśnie
ładuje całą aplikację i następnie wykonuje logikę biznesową.
W trakcie ładowania aplikacji maczetą na podstawie adresu URL próbuje rozpoznać
jaką strefę powinien załadować i teraz jeśli front odpowiada wartości admin
jest hodowana strefa admin HTML jeśli odpowiada wartości jest ładowane
jest strefa Web a następnie stop Web Apps oraz Web API.
Natomiast jeśli nie ma podanego front
i Front wynika z nazwy modułu to ładowane jest domyślnie strefa front.
Dodatkowo istnieje taka strefa jak ta strefa ładowania jest tylko podczas
przetwarzania zadań systemowych skonfigurować w Koronie.
Istnieje też taka strefa jak Bass która jest połączeniem strefy frontu oraz HTML.
Jeśli chcemy skonfigurować układ stron lub pewne konfiguracje np.
te
i te zmiany mają być dostępne w strefie frontu oraz admin HTML to nie ma sensu aby
dodawać zarówno je do jednej jak i drugiej strefy.
Możemy to zrobić w jednym miejscu czyli w strefie baz.
Dzięki temu zarówno w jednej jak i w
drugiej strefie te zmiany zostaną załadowane.
Przejdźmy teraz do edytora kodu do modułu katalog który już był
wykorzystywany przy naszych wcześniejszych lekcjach folderze UTC znajdują się takie
katalogi jak admin HTML front oraz sklep API.
Są one odpowiadają
strefą której mówiłem wcześniej czyli jeśli teraz w folderze Web Apps
znajduje się plik XML to ta zawartość tego pliku.
Ta konfiguracja jest spowodowana tylko i
wyłącznie podczas Request który odbywa się dla SOPA
w przypadku ustaw czy admin HTML a te konfiguracje nie są publikowane.
Dodatkowo przejdźmy do folderu w którym
zawarta jest konfiguracja wyglądu dla stron z produktami.
Tak samo widzimy że w tym zakażeniu
znajdują się trzy foldery admin HTML oraz Front admin HTML czyli wszystkie
konfiguracje układu stron szablony pliki CSS będą ładowane tylko i wyłącznie dla
strefy admin HTML tak samo jest dla strefy frontu.
I właśnie tutaj znajduje się połączenie tych dwóch stref czyli folder back
jeśli jak już wspomniałem wcześniej znajdują się tu jakieś pliki.
To konfiguracja z tych plików zarówno jest ładowane dla strefy HTML jak i front.
Wiemy już jakie są strefy w systemie.
To jak możemy je wykorzystywać
następnym rozdziale dowiemy się o tym jak został zaimplementowane wzorzec MVP oraz
jak stworzyć kontrolery widoki oraz modele.