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.
Mówiliśmy sobie kontrolery następnie
opowiedzieli o widełkach a teraz w tym rozdziale zajmiemy się omówienie modeli.
Jednak zanim stworzymy swój pierwszy model konieczne będzie przygotowanie nowej
tabeli w bazie danych która będzie przechowywać informacje o markach.
Do tego celu możemy wykorzystać
pliki czy też skrypty instalacyjne nazwane i Kima lub też AP grecki a w przypadku
aktualizacji w wersji modułu i w przypadku migracji np.
dodawania nowej kolumny do naszej tabeli jednak od wersji ma to 2 kropka 3 dostępny
jest mechanizm deklaracji schematu bazy danych za pomocą pliku DVI z XML
i my właśnie zajmiemy się w tej dzisiejszej lekcji plikiem niebieskim XML.
Przechodzimy więc do moduł Edgar Brandt.
Następnie do katalogu HTC
i w tym miejscu konieczne będzie dodanie pliku o nazwie DB z Kima.
XML.
Następnie następnie za pomocą Life Places wygeneruje podstawową zawartość tego pliku
w tej lekcji nie będziemy skupiać się na wszystkich możliwościach tego pliku
zajmiemy się tylko stworzeniem nowej tabeli która będzie nam potrzebna do
przechowywania informacji o naszym modelu marki.
Dlatego też tworzymy nowy tablet następnie
podajemy nazwę naszej tabeli która zostanie dodana do bazy danych.
Możemy zrobić i nazwać ją Brand.
Następnie konieczne będzie określenie silnika bazy danych.
Mamy do wyboru inną DB oraz Memory.
Wybieramy DB.
Następnie możemy dodać komentarz który
jest opcjonalny ale dodajmy żebyśmy wiedzieli że to jest tabela ePUAP Brand.
Następnie zamykamy tak TB i dodajemy kolejne zagęszczenia w którym
będziemy definiować kolumny które mają się znaleźć w tabeli.
Brat rozpoczynamy od dodania pierwszej
kolumny która będzie identyfikator naszej marki kolumny więc nazwiemy ID.
Następnie konieczne jest zdefiniowanie typu danej kolumny dlatego też
wykorzystamy już wcześniej znany atrybut X i Type.
Jako wartość piszemy z racji że jest to wartość liczbowe a
następnie 5 ton podpowiada nam jakie są dostępne kolejne atrybuty.
Jeśli dana kolumna jest typu int.
W naszym przypadku jest to klucz główny dlatego też wykorzystamy.
Atrybut identyczne i wskaże wartość którą
następnie ustalimy aby nie można było w tej kolumnie przechowywać wartości typu.
Dlatego też wykorzystamy atrybut Label i ustawiamy na FUS.
Kolejną kolumną jaką stworzymy będzie to kolumna która
będzie zawierała informacje o nazwie marki.
Dlatego też znowu dodajemy tak nazwę wpisujemy nazwę typ wybieramy.
Następnie konieczne będzie określenie
długości jaka może znaleźć się w danej kolumnie.
Domyślnie ustawiamy wartość 255
i możemy też ustalić aby w kolumnie nie można było ustawić wartości typu.
Na sam koniec dodamy jeszcze jedną kolumnę
w której będziemy przechowywać informacje o URL kiju.
Ta wartość na razie nie będzie
wykorzystywana przez nas jednak później na końcu tego rozdziału wykorzystamy ją do
implementacji naszego własnego routera dokończył więc definicję schematu naszej
tabeli Brand nazwiemy kolumnę tak jak mówiłem wcześniej URL ki określamy typ.
Możemy też zdefiniować długość na 255 oraz liczbę na wiosnę.
Zanim dodamy te tabele do bazy danych z definiujemy jeszcze trend dzięki któremu
identyfikator będzie kluczem głównym dodajemy typ.
Który nazywa się primary.
Następnie referent IT które jest wymagane jest to identyfikator którym na razie nie
musimy się przejmować firmy tam więc słowo.
Primary następnie w zamierzeniu dodajemy kolumnę.
Nam oraz wskazujemy jaka kolumna będzie naszym kluczem głównym w tabeli Brand
wskazujemy na kolumnę IT i w tym pliku to jest tyle
Przejdziemy teraz do konsoli w której uruchomimy polecenie by to etap
upgrade dzięki któremu nasza tabela zostanie dodana do bazy danych.
Wrócimy teraz to 5 historia
i połączymy się z bazą danych aby zobaczyć czy została ta tabela dodana.
Odświeża listę TOP 5.
Potrzebuje hasła dlatego też się wpisuje.
Po chwili powinno się pokazać w liście dostępnych tabel.
Nowa tabela Brand z kolumnami id name oraz URL.
W tej lekcji to już tyle udało nam się
dodać tabele do bazy danych następnej lekcji w konfiguracji model oraz kolekcję.
Szablon pliku db_schema.xml · 1 min
<?xml version="1.0"?>
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
</schema>