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.
Zanim stworzymy nowy model czyli tak jak
poprawnie powinno się to robić może to wykorzystamy możliwość wskazania innej
klasy atrybutów klas i rozszerzyły sobie klasę Templeton.
Skupimy więc na razie
tę klasę będziemy ją potrzebować za chwilę i pokażmy klasę która będzie
w naszym module zajmowała się wyświetlenie tego bloku.
Zacznijmy więc od wpisania pełnej nazwy czyli w tym przypadku Brand.
Następnie nasze bloki będą znajdowały się
w folderze blok jest to folder w którym według standardu
znajdują się wszystkie klasy związane z blokami.
I następnie nasz blok możemy nazwać po prostu Wu.
Musimy teraz przejść do listy katalogów dodać folder.
Po pierwsze blok a następnie klasę kW.
Konieczne jest też ustawienie.
Edward brand i następnie blog.
Teraz konieczne będzie rozszerzenie standardowej klasy Temple.
Jeśli tego nie zrobimy
to nie pozwoli na załatwianie tego bloku prawdopodobnie pojawi się błąd
a stanie się tak dlatego ponieważ klasa Templeton następnie rozszerza blok
a ten blok abstrakcyjny implementację interfejs blok interfejs
który jest wymagany aby każdy blok komplementował.
Dlatego też konieczne jest rozszerzenie właśnie klasy która implementację tamten
interfejs nie będziemy dodawać nic nowego i zaskakującego do generowania bloku.
Dodamy tylko i wyłącznie pobranie pewnych wartości które zostaną następnie
wykorzystywane do wyświetlenia w naszym szablon.
Dodajmy więc metodę GET brat Info która zwróci nam pewne
informacje a ja w obronie pokażę w jaki sposób możemy tę informację pobrać oraz
jakie są dostępne instrukcje BHP w szablon HTML.
Zapewniły więc tą metodę.
Musi być ona publiczna.
Następnie wskazujemy.
Nazwę.
I na potrzeby naszego przykładu zwróćmy pewne wartości w tablicy.
Niech na początku będzie to pod naszą marką będzie załóżmy Tesla.
Następnie nam niech będzie od litery.
I zwróciły też pewną tablicę aby pokazać w
jaki sposób można sterować w szablon nazwiemy ją sobie co dla.
Bo rejon i następnie wskazujemy elementy załóżmy Elon Musk czy Panasonic.
Dane zwrócone w tej metodzie zostaną zaraz wykorzystane w szablon.
Przejdźmy więc do pliku
HTML i na samym początku zmieńmy informacje o klasie
zmiennej Block ponieważ teraz ma to zaledwie nasz blok czyli Web.
Brand blog View.
I aby pobrać teraz załóżmy dane z metody
GET Brand info konieczne będzie znowu wygenerowanie tagów PHP
i za pomocą zmiennej Block możemy teraz dostać się do metody GET Brand info.
Rezultat tej metody piszemy do zmiennej Brand info które będzie wykorzystywane
dalej w szablon usunie teraz słowa Hello world i zamkniemy je na
wyświetlenie tytułu naszej marki czyli w tym przypadku będzie to Tesla.
Aby to zrobić dodajemy najpierw tagi K2.
Aby wyświetlić wartość
nam z tablicy Brand info konieczne znowu będzie dodanie tagów w PHP.
Można teraz skorzystać z instrukcji ECO.
I wskazać tutaj co ma się wyświetlić czy w
tym przypadku Brand info i wartość tablicy w PHP 7 jest też dostępny skrót dzięki
któremu nie musimy wpisywać opcji instrukcji co możemy skrócić tą instrukcję
do takiej formy czyli dodajemy po prostu pytanie i zamiast PHP.
I to pozwoli na wygenerowanie.
Od razu na wartości info nam.
Następnie mamy możliwość dodania
instrukcji warunkowych za pomocą słowa kluczowego.
IV.
Aby to zrobić znowu konieczne będzie oddanie PHP.
Następnie podanie instrukcji warunkowej If
I możemy sobie sprawdzić czy istnieje taka opcja w tablicy info jak np.
. Dyscyplin.
Taka opcja nie istnieje więc nie zostanie
nic w obrębie tej instrukcji wygenerowane konieczne jest danie 2 kropka
i następnie wskazanie gdzie ta instrukcja się kończy.
Z racji że konieczne będzie dodanie tagów HTML znowu na koniec musimy dodać PHP.
W której zostanie oznaczony koniec instrukcji if za pomocą słowa kluczowego.
And if I ważne jest aby dodać średnicę.
Wszystko co znajduje się pomiędzy tymi zawodnikami IF oraz End IF w zależności od
wspomnianego warunku będzie wyświetlone lub nie.
Dlatego też możemy tutaj wyświetlić sobie tak.
Patrzy.
Hello world który nie zostanie wyświetlony
ponieważ nie mamy wartości w tablicy Brand info.
Następnie Kolejną opcją jest integracja aby sterować po wartościach tablic owych
konieczne będzie znowu dodanie PHP i wykorzystanie instrukcji w formacie.
Wskazujemy po czym kierujemy się w tym przypadku będzie to brand info Kola przez.
AS czyli teraz czy będzie nasz element będzie Cola Corporation.
I na końcu tej instrukcji znowu dodajemy
2 kropek i tak samo jak w przypadku instrukcji if konieczne będzie dodanie do
końca tej instrukcji wchodzić więc dodajemy and foreign i średniak.
I teraz to co będzie znajdowało się
pomiędzy tymi zawodnikami będzie w każdym obiegu operacji w formacie.
Dodajmy więc wyświetlenie tych kolaboracji dla Tesli.
Zrobimy to wykorzystując tak p.
W którym wykorzystamy skróconą formę ECO.
I wyświetlaczy daną kolaborację z Tesli.
Przejdźmy teraz do przeglądarki.
Otwieramy naszą stronę i zobaczymy czy poprawnie się wszystko wygenerowała.
Hello world zostało usunięte.
Wyświetla się tylko nazwa marki Tesla i następnie z racji że
nie jest uzupełniona nie wyświetli się słowo hello world i następnie zostaje
wyemitowane wszystkie kolaboracji które zawarte są w tablicy Brand info.
Jednak musimy wrócić jeszcze do edytora kodu i zmienimy teraz blok na ww.
model. Z racji że blok View nie dodaje żadnej
logiki regulujące to daje tylko możliwość pobrania pewnych informacji.
To jednak jest pewien zarzut spowodowany właśnie wszystkimi należnościami które
ta klasa musi rozszerzyć ponieważ rozszerza klasę Templeton.
Dlatego też to damy sobie w.
Możemy to zrobić w nowym folderze o nazwie View Mode.
I tutaj dodamy nową klasę która będzie też nazwana View.
Każdy model aby został poprawnie
przekazany przez agenta musi im prezentować.
Interfejs.
Argument interfejs pełna nazwa to jest to framework element blog.
Argument interfejs
dzięki temu że nie dostrzegamy żadnej klasy tylko im prezentujemy interfejs
mamy pełną dowolność co do naszego konstruktora.
Nie musimy załączyć żadnych niepotrzebnych
w tym momencie klas tylko to co potrzebujemy.
Dlatego też przeniesiemy metodę z klasy blog.
Następnie trasę blok możemy usunąć ponieważ nie będzie ona nam potrzebna
więcej możemy najlepiej usunąć i przejdźmy teraz jeszcze do pliku z autem.
Z racji że będziemy korzystać z domyślnie klasy tempa możemy usunąć atrybuty klas.
Jedyne co będziemy teraz potrzebowali
zrobić to będzie to dodanie informacji o naszym modelu.
Aby to zrobić do naszego bloku
będziemy musieli przekazać informację o nowym argumentuje.
Aby to zrobić wykorzystamy argument.
Który pozwoli nam na dodanie informacji o
zależności dla danego bloku czyli za pomocą argumentów.
Możemy tutaj dodawać pewne informacje z poziomu auto lub też w przypadku naszego
modela przekażemy aby to zaatakowało obiekt klasy w model View i wsadził go do
tablicy przechowują informacje w bloku pokaże ją za chwilę.
Natomiast teraz zwróćmy uwagę na nazwę nazwiemy sobie to view model.
Po tej wartości pobieramy sobie z bloku dwie młode.
Następnie wskazujemy informację o tym że
jest to typ obiekt aby to wiedziało że musi załadować obiekt
nie potrzebujemy tam wartości numerycznych czy tekstowej.
Ważne jest aby nam stworzyło nowy obiekt
właśnie kasę w model Vu teraz przekazujemy.
Jaką klasę ma tam ma to przekazać więc
wskazujemy pewną klasę pełną nazwę klasy czyli tzw.
model Vu.
Wracamy teraz do pliku Index HTML możemy to zrobić z poziomu lead przy pomocy
przycisku Command oraz lewym przyciskiem myszki na osie.
Z racji że klasa Brand blog została usunięta możemy ją tutaj usunąć aby
jej nie próbował załadować natomiast wrócimy tutaj to framework.
Ta klasa jest domyślnie malowana
i dzięki temu będziemy mogli zobaczyć jakie metody są dostępne.
Interesuje nas taka metoda jak blok Get data.
Za pomocą tej metody będziemy mogli pobrać nasz film Hotel
konieczne będzie przekazanie identyfikatora czyli właśnie tej wartości
filmu która została wskazana w atrybut nam dla argumentu.
I skąd to wie że tam znajduje się właśnie obiekt w modele.
Przejdźmy do metody GET data
w której możemy zauważyć że możemy to wykorzystuje obiekt data w którym znajduje
się po prostu zwykła tablica w której przechowywane są wszystkie informacje.
Jest to specjalna klasa która jest wykorzystywana przez klasę Temple.
Wracając do pliku
HTML musimy teraz przypisać rezultat wykonania metody kandydata do
zmiennej w mode i teraz nie będziemy już wykorzystywać
metody GET info na bloku ponieważ już nie mamy tej metody nie mamy naszego bloku.
Metoda GET info jest dostępna w modelu
dlatego więc wykorzystamy sobie po prostu zmienną w model
5 stron potwierdził że wszystko jest OK i możemy teraz przejść do przeglądarki aby
odświeżyć stronę i zobaczyć czy nic się nie zmieniło.
Pojawił się błąd ale to dlatego że
dotychczasowy model nie dodałem na inspekcję.
Wróćmy więc jeszcze do tego pliku dodajmy najlepiej łeb.
Brandt.
View Mode teraz wróćmy do przeglądarki.
Odświeżenie i wszystko powinno się załadować poprawnie.
Dokładnie nic się nie zmieniło natomiast nie pojawia się żaden błąd więc to znaczy
że pomyślnie udało nam się przepisać blok na nowy model.
W następnej lekcji pokaże w jaki sposób
możemy przekazywać inne argumenty do bloków zaczęto.