Suche…


Katalog Modulstruktur

Im Moment denke ich, dass das Katalogmodul fast alles enthält, was Sie einem Modul hinzufügen können.

  • Api - Enthält die Serviceverträge. Eine Gruppe von Schnittstellen, die nicht geändert werden sollten, wenn sich die Nebenversion nicht ändert. Nicht zwingend für ein benutzerdefiniertes Modul, aber für kommerzielle Erweiterungen.
    • Daten - Datenschnittstellen. Jede Schnittstelle muss über ein Modell verfügen, das dieses implementiert (Beispiel: Schnittstelle für Produktmodell).
    • ProductRepositoryInterface.php - Schnittstellen für Repositorys (muss auch über eine Implementierung verfügen)
    • ... andere wie oben
  • Block - Blöcke im Layout für Frontend und Backend verwendet
    • Adminhtml - Blöcke, die für das Backend verwendet werden
    • Kategorie - Frontend-bezogene Blöcke. Kann in beliebig vielen Ordnern verschachtelt werden, ist aber nicht obligatorisch
    • ... - das gleiche wie oben
  • Console - Ordner mit cli-Befehlen
  • Controller - enthält Frontend- und Backend-Controller
    • Adminhtml - Backend-Controller
    • Kategorie - Frontend-bezogene Controller. Kann in beliebig vielen Ordnern verschachtelt werden, ist aber nicht obligatorisch
    • ... - das gleiche wie oben.
  • Cron- Code, der per cron ausgeführt werden soll
  • etc - enthält Modul-Konfigurations-XML-Dateien
    • Frontend - enthält Konfigurationsdateien, die nur im Frontend geladen werden
    • adminhtml - enthält Konfigurationsdateien, die nur im Backend geladen werden
    • webapi_rest - enthält Konfigurationsdateien, die nur für die restliche API geladen werden
    • webapi_soapt - enthält Konfigurationsdateien, die nur für die SOAP-API geladen werden
    • acl.xml - ACL-Definitionen
    • catalog_attributes.xml - Standardattribute für Katalogentitäten.
    • catalog_attributes.xsd - Validierungsschema für die Datei oben.
    • config.xml - Standardwerte für die Konfigurationseinstellungen
    • crontab.xml - cron-Jobs planen
    • di.xml - Präferenz für die Injektion von Abhängigkeiten. (kann auch in adminhtml, frontend, webapi_ * liegen)
    • events.xml - Beobachterdeklaration für Ereignisse (kann sich auch in adminhtml, Frontend befinden)
    • indexer.xml - Einstellungen für verschiedene Indizes, die ausgeführt werden müssen, wenn sich Daten ändern
    • module.xml - Die Moduldeklarationsdatei
    • product_ * - produktbezogene Einstellungen.
    • webapi.xml - Webapi-Deklarationspfade.
    • widget.xml - Widgets-Deklarationen.
  • Helfer - verschiedene Modulhelfer
  • i18n - Übersetzungsdateien
  • Modellmodelle , so einfach ist das. Sie können in beliebig vielen Ordnern verschachtelt werden. Dies ist jedoch nicht zwingend erforderlich.
  • Observer - Event Observer Klassen
  • Plugin - around|before|after Plugins für verschiedene öffentliche Methoden.
  • Preise - Preisbezogene Klassen. Dies ist modulspezifisch. Sie können so viele Ordner haben, wie Sie möchten, wenn Sie sie nicht im Modellordner ablegen möchten.
  • Setup - verwandte Dateien installieren / aktualisieren (Aktualisierungsschema und -daten installieren)
  • Test- Unit-Tests
  • Ui- UI-Komponenten-bezogene Klassen.
  • Ansicht - der HTML-bezogene Teil. Das V in MVC.
    • adminhtml - verwandte Dateien
      • layout - XML-Layouts für adminhtml
      • Vorlagen - HTML-Vorlagen für adminhtml
      • Dateien mit ui_compoenent - UI- Komponenten (Deklaration)
      • Web- Assets (js, Bilder)
      • requiredjs-config.js - Konfiguration für requir.js
    • Basis - Dateien, die sowohl für das Frontend als auch für das Backend verwendet werden.
      • kann dieselbe Unterordnerstruktur wie adminhtml haben
    • Frontend - Frontend-bezogene Dateien
      • kann dieselbe Unterordnerstruktur wie adminhtml haben
  • composer.json - nicht obligatorisch, aber nett, wenn Sie Ihr Modul verteilen
  • registration.php - die Modulregistrierungsdatei.
  • Lizenz * .txt, readme.md - Sie wissen, was das bedeutet. Sie sind nicht obligatorisch


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow