Warum fehlt in der stabilen Version von Magento 2 der Ordner "Code" im Ordner "App"?

17

Ich habe Magento 2 stable von https://www.magentocommerce.com/download mit Beispieldaten heruntergeladen und installiert.

Es funktioniert gut in beiden Bereichen, dh Frontend und Backend.

app/codeOrdner konnte ich aber nicht finden .

Ähnliche Modulordner finden Sie unter vendor\magento.

  • Hat sich die Ordnerstruktur in Magento 2 wieder geändert?
  • Wo können wir unseren benutzerdefinierten Modulordner ablegen?
Praful Rajput
quelle
Denken Sie daran, obwohl Magento 2 als "stable" veröffentlicht wurde, handelt es sich im Grunde genommen um Alpha-Code, der sich möglicherweise noch einmal ändert. Mehrere Autoren von Hauptmodulen für Early Adopter haben die Notwendigkeit eines Pferdewechsels etwa alle 3 Wochen in der Mitte des Stroms kommentiert. Sie haben noch 2 Subversion-Änderungen, bevor Sie sich darauf verlassen können.
Fiasco Labs
1
Angesichts einiger Rückmeldungen und auf der Grundlage einiger Arbeiten von uns und der Community haben wir den Magento-Kerncode jetzt in den Hersteller verschoben (wo - viele würden argumentieren - es gehört).
benmarks

Antworten:

18

app/codefehlt, weil alle Magento-Module aus Gründen der Benutzerfreundlichkeit in einem vendorVerzeichnis abgelegt sind , sodass sie keinen eigenen Code mit dem Kern mischen müssen. Jetzt ist es einfach, benutzerdefinierte Module zu entwickeln, ohne den gesamten Magento-Kern in Ihr GIT-Repository zu übertragen (im Gegensatz zu Magento 1).

Alex Paliarush
quelle
7

Sie sollten Ihren benutzerdefinierten Modulordner nicht alleine ablegen: Composer erledigt dies für Sie und platziert standardmäßig die Pakete (und Magento-Module dazwischen) in dem vendorOrdner.

Mage2.PRO
quelle
# Mage2.PRO, damit ich mein benutzerdefiniertes Modul in den App / Code-Ordner oder in den Vendor-Ordner lege?
Shaheer Ali
Sie sollten Ihr Modul in ein Composer-Repository stellen. Der Composer lädt Ihr Modul herunter und installiert es in einem geeigneten Ordner. Hier ist ein Beispiel für mein benutzerdefiniertes Composer-Repository: mage2.pro/packages.json
Mage2.PRO
Wenn ich ein Modul lokal für m2 entwickelt habe, wie kann ich es dann auf dem m2-Stall installieren?
Shaheer Ali
Stellen
Mage2.PRO
4
@ Mage2.PRO: Was sollte der genaue schrittweise Ablauf sein, um unser in Magento2 Beta entwickeltes Modul auszuführen?
Chiragit007
1

Eigentlich benötigen Sie in einem Magento 2-Setup nur eine composer.jsonDatei, für die das Paket magento/product-community-editionaus dem Composer- Repository https://repo.magento.com/ erforderlich ist .

Wenn Sie composer installes jetzt ausführen , werden viele Magento-Pakete und Pakete von Drittanbietern (Composer, Symfony, Zend usw.) heruntergeladen und in den vendor/Ordner gestellt. Dank des Magento Composer-Installationsprogramms werden auch viele Magento 2-Dateien in das Stammverzeichnis kopiert. Aber eigentlich kommt dein gesamter Code von vendor/.

Jetzt ist der app/codeOrdner standardmäßig nicht da. Sie können es selbst erstellen und fügen Sie lokale Module dort in dieser Struktur: app/code/<VendorName>/<ModuleName>.

Sie können Ihre Module auch in einem separaten VCS-Repository (dh GIT) irgendwo entwickeln und zu Ihrem hinzufügen, composer.jsonwodurch sie auch in das vendor/Verzeichnis installiert werden .

7ochem
quelle
0
  • Medien- und Fehlerordner werden in den Pub-Ordner verschoben
  • skin und js ordner werden in ordner verschoben pub/static.

Jetzt ist es einfach, statische Inhalte über CDN zu verwalten.

  • js, css, images sind wieder in pub/static/adminhtmlund pub/static/frontendfür den Backend- bzw. Frontend-Bereich unterteilt.

  • Der Ordner dev enthält verschiedene Tools für Entwickler, z. B. Migrationstools und Tests. Die Shell wird in den Dev-Ordner verschoben

  • Downloader, Includes und pkginfoOrdner sind mit Magento 2 nicht mehr verfügbar.

  • Das Installationsverzeichnis ist für den Installationsvorgang vorgesehen

  • get.php, cron.php und index.phpfiles werden in den pub ordner verschoben.

  • Die Einstellungen für die Datenbankverbindung, den Backend-Namen, die Einstellungen für die Sitzungsspeicherung und die Cache-Einstellungen werden in deklariert app/etc/env.php

  • Die Themes sind nach "Anbieter" gruppiert, die wir in Magento 1.x als "Paket" bezeichnet haben. Die Themenstruktur in Magento 2 ist ähnlich app/design/frontend/vendor_name/theme_name.

Charvi Parikh
quelle