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.
Wiemy już jak korzystać z modeli tzn.
Wiemy jak zapisać dane do baz danych i wiemy też jak te dane z bazy pobrać
teraz pokaże w jaki sposób możemy pobierać wiele modeli za pomocą kolekcji.
Przejdźmy więc do działania.
Na potrzeby tego przykładu dodałem nową akcję Lighting dla kontrolera WP
w tej akcji dodamy na początku zależność która pozwoli na
stworzenie nowego obiektu kolekcji czyli Collection Factory.
Konieczne będzie wskazanie całej ścieżki do kolekcji.
Jak już wiemy dlatego też zrób.
Brand.
Model.
Prof. Smolar.
Następnie Brand Collection i dodajemy na końcu X Factor
dzięki czemu może to do klasy lifting przekaże obiekt Collection Factory.
Następnie przechodzimy do metody egzekucji
i stworzymy nowy obiekt za pomocą korekty faktury.
Wykorzystuje metodę Create jako rezultat przypisany do zmiennej Collection.
Podamy też informacje dla naszego edytora kodu że jest to brand Collection
i zobaczymy jakie są dostępne metody dla kolekcji.
Wywołają więc Collection i zobaczymy jakie są te metody.
Mamy sejf możemy zapisać wszystkie elementy.
Wszystkie modele które znajdują się w danej kolekcji.
Mamy też metodę LOT która jest akurat też automatycznie wykonywana gdy chcemy
wykorzystać instrukcję do sterowania po kolekcji za chwilę to przedstawię.
Możemy też pobrać systemy które znajdują
się w kolekcji i możemy ustawić ilość elementów w jednej stronie.
Dlatego też możemy za pomocą kolekcji tworzyć aplikacje.
Mamy możliwość filtrowania dodania
sortowania czy też różne inne metody które pozwalają np.
na pobranie całego Select.
Jest to obiekt Free Select i za pomocą na tym obiekcie metody Assembly możemy
sprawdzić jakie gwary kolekcja wygenerowała.
Mamy też do wyboru tak naprawdę wszystkie możliwości z języka SQL.
Nie będziemy oczywiście ich wszystkich omawiać jest ich bardzo dużo.
Pokażmy takie podstawowe czyli np.
AD filtr tu Select za pomocą tej metody możemy dodać do
kolekcji informacje o tym że ma pobrać z bazy danych pole np.
czy też np.
URL ki i musimy to zmienić aby to była tablica.
W tym momencie może to będzie wiedziało że te dwie kolumny.
Następnie Collection
możemy dodać filtrowanie i dodajemy za pomocą filtrów filtr.
I tutaj na początku pierwszym argumentem
tej metody będzie pole które chcemy przechwytywać.
Możemy to zrobić za pomocą np.
polany i następnie kondycję czyli
ustawiamy warunki jakie dana marka ma spełnić.
Możemy po pierwsze wpisać wartość tekstową np.
BMW dzięki czemu to pobierze tylko i wyłącznie marki które mają nazwę BMW.
Mamy też możliwość dodania bardziej skomplikowanych warunków za pomocą
tablicy słowa które określa rodzaj warunku i następnie jako wartość konieczne będzie
podanie wartości którą chcemy filtrowanie aby sprawdzić jakie mamy możliwe typy
warunków konieczne będzie przejście do metody at filtr filtr
i następnie przejdziemy do klasy rodzica która też komplementuje tą metodę.
Ta metoda jest zaimplementowane w postaci wyrzucenia wyjątku.
Natomiast co ważne w komentarzu znajduje się informacja o dostępnych typach.
Tutaj mamy przykład w jaki sposób możemy wykorzystać dane typy i np.
możemy skorzystać z typu E Q czyli jest to skrót od I kw.
Nie możemy też za pomocą przekazanej wartości zrobić aby to
kolekcja pobrała tylko i wyłącznie modele które spełniają warunek.
Dlatego też możemy to zrobić za pomocą.
Zwykłego warunku testowego lub w przypadku
bardziej skomplikowanych warunków za pomocą właśnie tego sposobu
zróbmy to za pomocą tablicy i opcji Eco jako wartość wskazujemy Volvo.
średnich na końcu i następnie aby
przetestować po dostępnych modelach już po pobraniu ich z bazy danych
możemy po pierwsze zrobić to za pomocą Collection.
Get It która zwróci nam w formie tablicy wszystkie pozycje danej kolekcji wszystkie
elementy danej kolekcji natomiast możemy też za pomocą instrukcji foreign.
Przejął kierować po prostu po zmiennej Collection która ma zaimplementowane
literaturę dzięki czemu najpierw zostanie wykonana metoda lot i następnie
będą sterowane wartości które znajdują się w kolekcji.
Możemy wykorzystać tą instrukcję i na tym przykładzie
piszemy informację o zaawansowanych Markach do rezultatów w formie Jacksona.
Dlatego też jeszcze najpierw że to jest brand następnie oznacza że to jest brand.
Kolekcja korzysta z modeli dlatego też
uznaliśmy że zmienna Brand jest to model Brand nie korzysta ona z interfejsu danych
następnej lekcji natomiast pokaże w jaki sposób wykorzystać tzw.
kryteria które już korzystają z interfejsu
dalej natomiast dokończony jeszcze implementację metody Executive dodajemy
sobie na początku zmienną która będzie przechowywać
informacje o naszych zachowanych modelach pobranych z kolekcji dodał.
Dodajmy nowy element.
Brand Get.
Data.
I za pomocą zmiennej która znajduje się w wybranych interfejs.
Skaczemy na nasze.
Dzięki czemu poza ładowaniu kolekcji po wszystkich elementach które zostały
załadowane następnie do tablicy data zostaną przekazane nazwy marek załadowane.
Jedyne co zostanie to do rezultatu
ustawienie właśnie za pomocą Mercedesa data informacji zawartej w tablicy data.
Przejdźmy na koniec do przeglądarki i
zmieńmy adres URL z Brand View indeks na listy.
Ja przed lekcją wykonałem odświeżenie
aby nowa akcja poprawnie się zarejestrowała w systemie.
Natomiast jeśli tego nie zrobiłeś to
bardzo Cię proszę zrób to zanim przejdziemy do tej strony.
Dodatkowo pojawił się kolejny problem z wygenerowany wcześniej klasą Intersport.
Dlatego też konieczne będzie po odświeżenie wyciszenie folderu generator.
Wracamy do przeglądarki odświeżone.
I wyświetlał nam się Jackson akurat z jednym elementem.
W tym przypadku jest to volvo.
Możemy też teraz wrócić do edytora kodu i zmienimy osiągniemy tak naprawdę metodę
filtrów i zobaczymy jakie znajdują się marki w naszej bazie danych.
Wracamy do przeglądarki odświeżone.
I wyświetli się
informacje o nazwach wszystkich marek które znajdują się w bazie danych.
Z racji że je testowałem kilka razy
kontroler Saif to do bazy danych dodały się różne powtórzenia Tesla np.
jest dwa razy dwa razy czy też trzy razy.
Nie mamy zapewniony warunków unikalne dla pola nam czy też urywki.
Dlatego też można dodać do tabeli wiele marek.
Na razie to nie jest żadnym problemem w
naszym przypadku więc najważniejsze jest to że za pomocą
kolekcji wykonaliśmy pobranie wszystkich elementów z tabeli brand i następnie
wyświetlić w formie Jacksona następnych lekcjach pokaże w jaki sposób
zaimplementowane w repozytorium kryteria a następnie w jaki sposób z nich korzystać.
Dzięki temu będziemy mogli pobrać elementy
z bazy danych i zmotywować je do interfejsu danych i nie będziemy korzystać
tak jak w przypadku kolekcji z obiektów modeli.