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.
W ramach naszego modułu stworzymy naszą
pierwszą stronę która będzie dostępna pod adresem Senior Brand Index.
Dlaczego akurat pod tym adresem i co
znaczy każdy z tych członów opowiem później.
Natomiast przechodząc do dokumentacji
odnośnie ratingu jest to tłumaczone przez to w jaki sposób wygląda Flow request.
My już ten flow wchodziliśmy w poprzedniej
lekcji gdzie wybudowaliśmy KOD i tam tak jak tutaj jest napisane rozpoczęcie roku
zaczyna się w PAP indeks PHP następnie budowana jest aplikacja i front kontroler
odpowiada za znalezienie routera który rozumie daną ścieżkę URL.
Następnie jeśli ta ścieżka została
zrozumiała przez ten router i wie do jakiego w jaki miejsce ma dalej
przekierować nasze żądanie to przechodzi do akcji danego kontrolera.
W tym przypadku front Kontroler zawiera listę dostępnych routerów.
Możemy to przygotowało na potrzeby ratingu
kilka specjalnych klas które właśnie zajmują się przetwarzaniem tych żądań.
Mamy takie klasy jak robot Ural Riverside standard CMS oraz DivX.
My się zajmiemy liderem standard ponieważ
to on będzie przetwarzać naszą ścieżkę Brand View indeks na odpowiednią ścieżkę
do naszego modułu następnie ścieżkę do kontrolera oraz
naszej akcji która zajmie się wyświetlenie informacji o marce.
Kolejnym kryterium jest też CMS który potrafi znajdować adres URL który jest co
prawda który został stworzony by admin podczas tworzenia stron CMS na moduł CMS
który potrafi załadować odpowiednią stronę na podstawie identyfikatora.
My na końcu naszego kursu będziemy mieć przygotowany moduł oraz model który będzie
zawierał pewne informacje o markach też przygotujemy standardowy router nowy
router przepraszam nowy router który też będzie zamieniał nazwę
marki na odpowiedni adres który będzie rozumiany przez agenta.
Na razie tym się nie przejmujemy przejdźmy do omówienia jeszcze kolejnego routera
którym router i ten router nieco ostatni w ścieżce
przetwarzania router on zajmuje się wyświetlenie strony o tym że nie
znaleziona została żadna ścieżka czyli po prostu wyświetlana zostanie strona 404.
Aby zrozumieć w jaki sposób może to ma swój adres URL do ścieżki
odpowiedniego modułu w naszym systemie przygotowałem prezentację
w tej prezentacji znajduje się nasz adres URL który chcemy stworzyć podzielonego na
cztery człony pierwszy człon odpowiada nazwie domeny czyli w tym przypadku ePUAP.
Kolejny Brand.
Jest to front o problemie mówiliśmy już wcześniej podczas lekcji odnośnie stref.
I właśnie front służy do zadawania przez to odpowiedniej strefy.
My jesteśmy w strefie frontu
dlatego też Brand zostanie rozpoznany przez to jako że jest to strefa frontu
i następnie kolejny człon jest to człon View który odpowiada kontrolerom.
Kontroler w tym przypadku jest to kolejne
zagrożenie w folderze kontroler i w przypadku jeśli nasz człon kontroler
odpowiada słowo kluczowe mówił to konieczne jest dodanie kolejnego
zagęszczenia w naszym module czyli najpierw Brand następnie kontroler które
jest stałe i następnym członem jest człon kontroler czyli w tym przypadku ww.
. Następnie na samym końcu adresu URL jest
słowo kluczowe indeksy które wskazuje że jest to strona główna.
Można powiedzieć tego modułu i to słowo
kluczowe czyli ten ostatni człon odpowiada akcji akcja.
Jest to konkretna klasa PHP
która zajmuje się przetwarzaniem tego żądania zawiera też logikę biznesową czyli
kontrolery składają się z pewnych akcji np.
Zygfryda czyli czterech operacji które zarządzają naszymi emocjami w systemie
czyli są to operacje kreatury Update oraz dylemat.
Każdy z tych elementów będzie odpowiadał
jednej akcji czyli jednemu konkretnemu wpisowi w naszym systemie czyli jeśli
będzie operacja Creed to nazwiemy naszą klasę w systemie
Create PHP przejdziemy teraz do edytora kodu do przygotowanego wcześniej przeze
mnie modułu Web Brand w którym będziemy operować przez kolejne
lekcje oraz kilka rozdziałów i dodamy teraz naszą pierwszą stronę o
której opowiedziałem wcześniej aby zarejestrować to standardowego routera
zaczęto nową ścieżkę konieczne będzie dodanie takiego pliku jak XML.
Zaczniemy najpierw od dodania folderu który będzie wskazywał na odpowiednią
strefę w której znajduje się nasz kontroler oraz akcja.
Wiemy już że tą strefą jest strefa frontu
dlatego też tworzymy w katalogu cech które jak już powiedziałem wcześniej znajduje
się konfiguracja modułu czy też całego systemu.
Tworzymy katalog front i następnie plik.
XML ja przygotowałem sobie w
formie listę placówek które pozwalają na za pomocą słowa kluczowego w plikach XML
stworzyć już gotową strukturę danego pliku.
Dlatego też przejdźmy od razu do rzeczy.
Zacznijmy od tego że w pierwszym znajduje się router
tak router posiada atrybut ID w którym wskazujemy na identyfikator danego routera
który ma odpowiadać za przetwarzanie naszego adresu URL.
W dokumentacji opowiedziałem jakie są rodzaje.
Wiemy już że my wykorzystamy IT standard czyli ten router standardowy.
Dlatego też dalej konieczne jest
zarejestrowanie nowej ścieżki w tym routera.
Rejestruje ją za pomocą identyfikatora oraz front.
Zalecane jest aby identyfikator oraz Front
name były to takie same wartości z tego względu że front będzie identyfikować po
pierwsze strefę oraz moduł do którego dana ścieżka należy oraz
gdzie jest to ten pierwszy człon o którym też już wspominałem w prezentacji.
Identyfikator natomiast nie jest widoczny
podczas przetwarzania ścieżki URL natomiast jest on wykorzystywany jako
pierwszy człon który służy do znalezienia układu strony.
O tym będzie powiedziane później natomiast
z racji że jest taki standard aby właśnie identyfikator był taki sam.
Więc też tak zróbmy i identyfikator niech będzie Brand oraz też niech będzie brat.
Następnie określamy że
ścieżka czyli pierwszy człon Brand będzie odpowiadał modelowi
Brand dlatego też wpisujemy dokładnie tą wartość tej lekcji to będzie na tyle.
Przygotowaliśmy plik XML natomiast jeszcze
ścieżka URL nie będzie działać ponieważ nie przygotowaliśmy kontrolera oraz akcje
i nie zdecydowaliśmy się w jaki sposób będą zwracane informacje.
Dlatego też w następnej lekcji opowiemy
o tym jak stworzyć nowy kontroler oraz akcje a w ostatniej lekcji w tym rozdziale
zajmiemy się omówienie możliwych typów rezultatów.
https://devdocs.magento.com/guides/v2.4/extension-dev-guide/routing.html
https://devdocs.magento.com/guides/v2.4/extension-dev-guide/routing.html
routes.xml · 6 min
<?xml version="1.0" encoding="UTF-8" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="" frontName="">
<module name="" />
</route>
</router>
</config>