Tworzenie modułów do Magento – Magento API tutorial cz. 1: Tworzenie drzewa folderów

Magento to bardzo popularny system sklepu internetowego oparty o Zend Framework napisany w języku PHP. Wykorzystany jest w nim wzorzec MVC (opis tego wzorca można znaleść w dziale PHP) oraz paradygmat Convention Over Configuration, co oznacza ni mniej ni więcej to, że bardzo ważne jest odpowiednie stosowanie nazewnictwa plików, klas i znaczników, aby wszystko dobrze działało. Magento jest ściśle oparte o język XML, w którym jest zapisana cała konfiguracja systemu oraz komunikacja. Od razu na wstępie zaznaczam, że tworzenie pod Magento jest dość skomplikowanym procesem i początkujący programista będzie płakał.

Zacznijmy od tego, że prawie cały kod Magento oraz wszystkich dodatków znajduje się w katalogu .\app\code\. Wewnątrz tego katalogu mamy 3 kolejne foldery. Są to:

  • .\core
  • .\community
  • .\local

Core to podstawowy kod Magento. Community to kod oficjalnych dodatków do Magento. Local to folder, gdzie my będziemy umieszczać nasz kod. Od razu trzeba nadmienić, że funkcje w local przesłaniają funkcje w community, a te przysłaniają funkcje w core. Ma to służyć łatwemy nadpisywaniu funkcji w systemie bez modyfikowania plików systemowych.

Wewnątrz .\local tworzymy katalog będący odpowiednikiem namespace lub package z innych języków programowania. Na potrzeby tego tutorialu będzie to ProTech. Wewnątrz .\Protech tworzymy kolejny folder będący nazwą pisanego przez nas modułu. U nas będzie to Vm2Mage. Mamy więc teraz coś takiego: .\app\code\local\ProTech\Vm2Mage\.

Wewnątrz .\Vm2Mage utworzymy kilka standardowych folderów dla modułu. Nie wszystkie są zawsze wykorzystywane, ale dobrze mieć je przygotowane. Tworzymy więc:

  • Block
  • controllers
  • etc
  • Helper
  • Model
  • sql

Na początek tyle, żeby nei przestraszyć. Zapraszam na kolejne części z tego cyklu już wkrótce.