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.
Powiedzieliśmy o tym jak wygląda struktura
projektu jakie są w nim katalogi i co w nich się znajduje.
Teraz przejdziemy do modułu CMS który znajduje się w folderze Venture
i tam na jego przykładzie opowiem jakie są dostępne foldery i co w nich się znajduje.
Wchodzimy więc do naszego edytora kodu przechodzimy do folderu venture.
Następnie wyszukuje folder i moduł CMS moduł CMS tak nazywa się pełny
katalog i w tym katalogu znajdują się przeróżne foldery.
W tym modelu możemy znaleźć kilka lub kilkanaście katalogów z których każdy
katalog pełni jakąś funkcję w folderze API znajdują się definicje interfejsów np.
pewnych repozytorium czy z klas serwisowych.
Mamy też np.
interfejsy danych w folderze blog znajdują się bloki które
pomagają wędrować HTML dla naszego sklepu internetowego.
W kolejnym folderze znajduje się polecenie w tym przypadku Command.
Ta komenda jest dodana do polecenia wynajęto i właśnie w tym
folderze mogą rezygnować różnego typu komendy.
Możemy też własną swoją komendę stworzyć i zarejestrować w folderze kontroler.
Znajdują się natomiast wszystkie pliki które służą do obsługi zapytań HTTP
folder kontroler musi dokładnie nazywać się tak jak w tym module.
Z tego względu że ma to szuka właśnie w
danym module słowa kontroler a następnie w zależności od ścieżki ratingu konkretnej
klasy PHP która odpowiada za logikę wyświetlania czy generowania np.
HTML a w folderze HTC możemy znaleźć
różnego typu pliki XML które służą do konfiguracji pewnych części systemu np.
w poprzednich przykładach korzystaliśmy z
pliku XML który zawiera konfigurację independence in Action.
Mamy też do wyboru np.
Kima czy też
XML w których zawarte są konfiguracje obserwatorów dla pewnych eventów wynajęto
w tym folderze HTC Właśnie zabieramy pliki XML.
Jeśli chcesz zobaczyć jakie są dostępne pliki XML trzeba zajrzeć do dokumentacji
jest ich naprawdę dużo i nie jestem w stanie tego opowiedzieć.
Teraz.
Następnie mamy taki folder jak LPR które znajdują się klasy pomocnicze.
Kolejny folder i 18 m był omawiany w poprzedniej lekcji.
Jest to folder którym zawarte są pliki z tłumaczeniami.
Natomiast w folderze Modern znajdują się pliki klas które służą do komunikacji z
bazą danych natomiast też możemy znaleźć tutaj folder API który komplementuje
interfejsy które są zawarte w folderze API które widzimy wyżej.
Następnie mamy też folder Observer w
którym zawarte są pliki które obsługują pewne eventy wymagane to
w folderze etap natomiast znajdują się pliki skrypty instalacyjne lub też np.
Apache które pozwalają zmodyfikować dane w bazie danych lub też np.
emigrować.
Schemat bazy danych.
I właśnie za pomocą polecenia Birma etap upgrade uruchamiane są pliki
znajdujące się w module oraz w folderze etap.
Następnie mamy też moduł test w którym
zawarte są testy jednostkowe lub testy integracyjne dla danego modułu.
Następnie mamy folder w którym znajdują się klasy pomocnicze które
pozwalają redukować komponenty i komponenty.
Są to komponenty które pozwalają na front
sklepu lub też w panelu administracyjnym rezerwować komponenty GPS.
Dzięki temu nowemu budżetowi który nie był
w wersji 1 ale jest w wersji 2 możemy za pomocą plików XML np.
skonfigurować listy lub formularze w
panelu administracyjnym nie musimy nie musimy pisać każdego formularza na nowo.
Wystarczy że wykorzystamy właśnie te komponenty UI.
Jednym z ważniejszych folderów jest folder w którym znajdują się pliki pozwalające
wyświetlać panel administracyjny czy też front czyli znajdują się tutaj takie pliki
jak pliki XML układ stron szablony czy też np.
pliki np.
zdjęcia czyli ogólnie w tym folderze.
Jeśli nasz moduł dodaje nową
funkcjonalność załóżmy moduł kart w którym jest zawarta logika dodawania produktów do
koszyka i wyświetlania koszyka w tym miejscu czyli w folderze View znajdą
się wszystkie wymagane definicje układu stron oraz szablony które regulują np.
nasz koszyk.
Ostatnim liderem w module CMS jest folder
View który jest bezpośrednio powiązane z blokami oraz z szablą i układem stron.
W modelach będzie opowiedziane trochę
później wspomnę o tym w jaki sposób wykorzystywać
modele oraz czym się różnią bloki a i modele.
Udało nam się opowiedzieć pokrótce w jakie
foldery znajdują się w module CMS w naszych mundurach możemy wykorzystać też
takie foldery lecz mamy tutaj pewną swobodę.
O ile na przykład w folderze kontroler
nazwa tego folderu jest wymagana przez klienta to o ile w innych przypadkach
możemy stworzyć swój własny folder i tam dodać swoje własne pliki np.
Kaspra hopowych.
Następnej lekcji natomiast opowiem jak stworzyć nowy moduł jakie są wymagane
pliki oraz jak zarejestrować ten moduł w systemie.