Magento – struktura katalogów

Magento jest potężnym silnikiem zorientowanym obiektowo. I jak na taki kombajn przystało ma swoją strukturę:

app             // główny folder z modułami, tłumaczeniami i szablonami
--| code        // folder z modułami
----| community // moduły zaciągnięte ze stron prywatnych firm
----| core      // główne moduły magento
----| local     // nasze własne moduły oraz rozszerzenia core
--| design      // szablony 
--| locale      // tłumaczenia
--| etc         // pliki konfiguracyjne
js              // biblioteki js
media           // uploadowane pliki dla produktów, kategorii oraz te wgrywane przez edytor
lib             // biblioteki zewnętrzne m.in. Zend Framework i Varien
skin            // pliki szablonów takie jak css czy obrazki
var             // tutaj znajdziemy cache, raporty i logi błędów, pliki sesji etc.

Każdy moduł również musi posiadać określoną strukturę aby poprawnie działał.


Przestrzeń_Nazw lub Nazwa_dostawcy
--| Nazwa_Modułu
-----| Block         // Logika wiążąca kontroler z modelem
-----| Controller    // Kontrolery MVC
-----| controllers   // klasy abstrakcyjne, interfejsy, kontrollery
-----| etc           // konfiguracja modułu
-----| Helper        // helpery wspierające poprawne wyświetlenie danych w szablonie
-----| Model         // modele
-----| sql           // mechanizmy aktualizujące bazę danych

Oprócz tego aby moduł został poprawnie zainstalowany musi posiadać odpowiedni plik instalacyjny w katalogu :

app/etc/modules

Plik ten powinien zawierać informację o:

  • nazwie modułu,
  • przestrzeni w jakiej się znajduje moduł,
  • informacje o tym czy jest aktywny czy nieaktywny
  • jakie posiada zależności