OXID Metapackage anpassen

6. Mai 2020

 

Die Installation des OXID eShop erfolgt über composer.

composer create-project --no-dev oxid-esales/oxideshop-project your_project_name dev-b-6.2-ce

Alle dazu benötigten Pakete und Komponenten werden im sogenannten  OXID eShop metapackage definiert.
Nachfolgend ein Ausschnitt aus der entsprechenden composer.json:

[...]
"oxid-esales/oxideshop-db-views-generator": "v1.3.0",
"oxid-esales/oxideshop-demodata-ce": "v6.0.4",
"oxid-esales/oxideshop-demodata-installer": "v1.1.2",
"oxid-esales/oxideshop-doctrine-migration-wrapper": "v2.1.3",
"oxid-esales/oxideshop-facts": "v2.3.2",
"oxid-esales/oxideshop-unified-namespace-generator": "v2.0.1",
"oxid-esales/paymorrow-module": "v2.0.3",
"oxid-esales/paypal-module": "v6.1.0",
"oxid-esales/wave-theme": "v1.3.1",
"paragonie/random_compat": "v9.99.99",
"payone-gmbh/oxid-6": "v1.3.1",
"phpmailer/phpmailer": "v6.1.5",
"psr/cache": "1.0.1",
"psr/container": "1.0.0",
"psr/log": "1.1.3",
"rmccue/requests": "v1.7.0",
[...]

Grundsätzlich ist es auch möglich den Shop mit einer eigenen/angepassten composer.json zu installieren, sodass nur die eShop Core Pakete installiert werden. Jedoch entwickelt OXID eSales auf Basis des Metapackages und der darin definierten Pakete und Versionen, sodass auch nur hierfür die volle Funktionsfähigkeit gewährleistet werden kann.

Neben den wirklich relevanten Paketen werden auch Erweiterungen von Drittanbietern, meist Payment-Module, mit ausgeliefert.

[...]
"oxid-esales/paymorrow-module": "v2.0.3",
"oxid-esales/paypal-module": "v6.1.0",
"oxid-esales/wave-theme": "v1.3.1",
"paragonie/random_compat": "v9.99.99",
"payone-gmbh/oxid-6": "v1.3.1",
[...]

Diese Module werden durch das OXID eShop composer plugin automatisch installiert. Die Module werden zwar nicht automatisch aktiviert, sind aber im /source/modules/ Ordner zu finden.

Mit composer replace besteht jedoch die Möglichkeit bestimmte Pakete zu ersetzen bzw. zu entfernen. Hierzu muss in der composer.json (shop-root) ein weiterer Absatz hinzugefügt werden. Bei folgendem Beispiel werden die zwei definierten Pakete, trotz Definition im Metpackage, nicht installiert.

"replace": {
"oxid-esales/paymorrow-module": "*",
"payone-gmbh/oxid-6": "*"
}

Details zur aktuellsten Version 6.2.1 gibt es in den OXID Releaseinfos. Weitere Infos zu OXID 6.2 in unserem Blogpost: Einblick in OXID 6.2

Außerdem möchten wir an dieser Stelle noch auf den Blogpost OXID-Shop schon vor der Installation individualisieren der Kollegen von d3 hinweisen, welche auf das Thema noch etwas genauer eingehen.

UPDATE: 5. Oktober 2020

Möchte man eine speziell definierte Package-Version mit einer Anderen ersetzen, weil z. B. über das OXID Metapackage eine ältere Version ausgeliefert wird, ist dies mit folgende Schreibweise möglich:

"require": {
"ddoe/wysiwyg-editor-module": "2.3.0 as 2.2.0",
}

Danke an Benjamin B. aus dem OXID Dev-Chat für den Tipp.