Dzisiaj chciałbym omówić jak wygląda struktura plików w Magento 2 . Poprzednim razem udało się nam zainstalować Magento przy pomocy oficjalnego devboxa. Jeśli tego jeszcze nie zrobiłeś to czym prędzej nadrób zaległości. 😉

Struktura plików w Magento 2

Spójrzmy na githuba Magento 2 i zobaczmy jak wygląda struktura plików i folderów:

Struktura plików w Magento 2

Najważniejsze pliki foldery z punktu widzenia developera to:

  • app/code
  • app/design
  • app/etc
  • app/i18n
  • bin
  • dev
  • pub
  • pub/static
  • pub/media
  • var
  • vendor
  • index.php
  • .htaccess
  • composer.json
  • package.json

app/code

W folderze app/code trzymany jest kod źródłowy modułów np.

app/code/Magento/Catalog

app/code/Magento/Checkout

Konwencja nazewnictwa wygląda tak: app/code/[Vendor name]/[Module name]

Vendor name to nazwa firmy (organizacji)  która jest autorem modułu. Module name to oczywiście nazwa modułu. Zarówno Vendor jak i Module  name zaczynamy dużą literą. Jeśli nasza nazwa jest wieloczłonowa to używamy notacji camelCase np.:

app/code/Magento/ConfigurableProduct

Uwaga:  przy instalacji Magento za pomocą composera pliki modułów znajdziesz w folderze vendor. W app/code będziesz trzymał swoje własne, nowe moduły lub inne moduły, których nie mogłeś zainstalować composerem.

app/design

W folderze app/design trzymane są szablony. Szablony są nam potrzebne do zmiany wyglądu naszego sklepu. Szablony można podzielić według tzw. area. Możemy rozróżnić trzy rodzaje area:

  • frontend – szablony zmieniające widok sklepu, czyli to co widzi użytkownik
  • adminhtml – szablony zmieniające wygląd panelu administracyjnego
  • base – szablony zarówno dla frontendu jak i backendu.

W przypadku szablonów stosujemy taką konwencję nazewnictwa:

app/design/[area_name]/[vendor_name]/[theme_name]

Przyjęło się, że theme_name piszemy z małej litery.

Magento w standardzie daje nam dwa szablony frontendowe do wyboru:

app/design/frontend/Magento/blank – „czysty” szablon – od niego najcześciej zaczyna się development

app/design/frontend/Magento/luma – standardowy szablon rozszerzający Magento/blank nadając mu np. ładne kolorki 😉

Jeśli chozi o backend to mamy jeden szablon:

app/design/adminhtml/Magento/backend 

app/etc

W folderze app/etc znajdziesz konfigurację Twojej instalacji Magento.

app/i18n

W folderze app/i18n znajdziesz konfigurację związaną z językami i tłumaczeniami.

bin

Folder bin zawiera magento-cli. Więcej o tym narzędziu na pewno będzie jeszcze na blogu.

dev

Folder dev zawiera narzędzia dla programistów. W tym miejscu znajdziesz też pliki testów.

pub

Folder pub zawiera wszystkie statyczne pliki takie jak obrazki, style, pliki JS i fonty. Folder ten jest generowany automatycznie przez Magento i nie należy go ręcznie modyfikować.

pub/media

W folderze pub/media znajdziesz wszystkie wgrane przez uploader obrazki np. obrazki produktowe.

pub/static

Folder pub/static zawiera statyczne pliki dla każdego szablonu i języka.

var

Tymczasowe pliki takie jak np logi błędów, cache.

vendor

Zewnętrzny kod zaiinstalowany przez composera.

index.php

Podstawowy plik Magento od którego wszystko się zaczyna. 🙂

.htaccess

Plik konfiguracyjny apache.

composer.json

Plik opisujący zależności naszego projektu. Na podstawie tego pliku composer zainstaluje wszystko o jest nam potrzebne do działania aplikacji. Więcej o  narzędziu composer możesz przeczytać tutaj.

package.json

Plik opisujący zależności node modules potrzebne do developmentu szablonów.

Podsumowanie

W dzisiejszym artykule opisałem jak wygląda struktura plików i folderów w Magento 2. Jeśli masz jakieś pytania zapraszam do komentowania.

Podobało się – udostępnij innym! 🙂

Share on FacebookTweet about this on TwitterShare on LinkedIn