Clever blog_

Nasz pierwszy moduł i kontroler w Magento 2

MAGENTO 2 TRYB DEWELOPERSKI

Aby umieścić Magento w trybie deweloperskim, konieczne jest wywołanie poniższej komendy:

Dlaczego tego potrzebujemy? Pokazuje nam to wszystkie błędy, blokuje przechowywanie plików statycznych w pamięci, odblokowuje automatyczną kompilacje kodu oraz wzmacnia debugowanie. Logi systemowe znajdują się w var/reports. Jeżeli skończyliśmy, możemy ustawić Magento w trybie produkcyjnym poprzez:

Jest on szybszy niż tryb deweloperski. Wyjątki nie są wyświetlane dla użytkowników, a pliki statyczne zostają pobrane z folderu pub/static

MAGENTO 2 BLOKOWANIE PAMIĘCI PODRĘCZNEJ

W celu oszczędzenia czasu, możemy zablokować generowanie pamięci cache poprzez przejście do:

Wybieramy wszystkie możliwości i ustawiamy opcję „zablokuj” („disable”). Jeżeli tego nie zrobimy, będziemy zmuszeni czyścić pamięć cache za każdym razem, kiedy coś zmodyfikujemy. W razie potrzeby pamięć podręczną można wyczyścić także przy użyciu:

 

KONFIGURACJA MODUŁU

W pierwszym kroku musimy utworzyć plik module.xml w app/code/CleverCode/HelloWorld z zawartością:

W atrybucie „name” widzimy przestrzeń nazw oraz nazwę modułu, które są zgodne ze strukturą folderów. Naszemu modułowi nadamy określenie HelloWorld. Zostanie on utworzony w wersji 1.0.0

W następnym kroku tworzymy plik registration.php  w app/code/CleverCode/HelloWorld  z zawartością:

Określa on ścieżkę do folderu, w którym znajduje się nasz moduł. Wymagane jest powtórzenie tego kroku dla każdego nowego elementu. Po wykonaniu całego procesu moduł jest gotowy, jednak należy go odblokować. Status możemy sprawdzić poniższą komendą:

Jeżeli zobaczymy: List of disabled modules: CleverCode_HelloWorld będzie to sygnał, że wszystko jest w porządku. Aby odblokować moduł, należy wpisać:

Inna możliwość polega na modyfikacji pliku: app/etc/config.php  i dodaniu 'CleverCode_HelloWorld' =>; 1,  jednak pierwsza opcja jest bardziej praktyczna.

Kolejno w celu zaktualizowania systemu wpisujemy:

Routing

Aby do naszego modułu dodać routing, tworzymy plik routes.xml w app/code/CleverCode/HelloWorld/etc/frontend  z poniższą zawartością:

Po co nam routing? Atrybut o nazwie frontName będzie użyty w adresie URL. Za każdym razem podczas wykorzystywania akcji z naszego modułu, zostanie wywołany frontName

 

KONTROLER

TAby wyświetlić dane przy użyciu frontName, niezbędne jest utworzenie kontrolera. Na początku stwórzmy plik Index.php  w app/code/CleverCode/HelloWorld/Controller/World o treści:

Umieszczamy go w folderze Controller modułu. Zawiera jedyną wywoływalną metodę execute()  W przeciwieństwie do wersji 1, w Magento 2 nie jest możliwe utworzenie większej ilości wywoływalnych akcji. Celem uruchomienia kontrolera należy wpisać:

lub

Co to oznacza? Dopasowujemy akcję kontrolera do routingu. Po wpisaniu odpowiedniego URL wywołamy metodę execute()   Wszystkie frontendowe kontrolery dziedziczą z klasy \Magento\Framework\App\Action\Action Posiada ona metodę dispatch, która sprawdza, czy żądanie jest wysłane, metodę redirect przekierowująca do określonego adresu URL oraz kilka innych użytecznych akcji. Jeżeli wyświetlają się błędy, należy wpisać:

 

 

Ostatnie prace

Platforma sprzedażowa B2B oraz B2C
BreakAwayDistributing

Agencja SLK Solutions, odpowiedzialna za wdrożenie sklepu internetowego, zwróciła się do nas o pomoc w stworzeniu platformy sprzedażowej dedykowanej segmentowi B2B oraz B2C. BreakAwayDistributing – firma działająca od 1993 roku, z siedzibą w Hamilton w Kanadzie

Czytaj więcej

BogoShirts

Firma Sanda Sp. z o.o. jest polskim dostawcą męskich koszul z ponad 25-letnim doświadczeniem. Główny odbiorca jej produktów to klient detaliczny, stąd też asortyment oferowany przez tę firmę cechuje unikatowość. Każda koszula jest szyta ręcznie, na wymiar.

Czytaj więcej