Konfigurationseinstellungen importieren
Wenn Sie ein Produktionssystem mit dem Commerce 2.2 Pipeline-Bereitstellungsmodell einrichten, müssen Sie aus config.php
und env.php
in die importieren.
Zu diesen Einstellungen gehören Konfigurationspfade und -werte, Websites, Stores, Store-Ansichten und Designs.
Nach dem Import von Websites, Stores, Store-Ansichten und Designs können Sie Produktattribute erstellen und sie auf Websites, Stores und Store-Ansichten im Produktionssystem anwenden.
bin/magento app:config:import
verarbeitet keine in Umgebungsvariablen gespeicherte Konfiguration.Importbefehl
Führen Sie auf Ihrem Produktionssystem den folgenden Befehl aus, um Daten aus den Konfigurationsdateien (config.php
und env.php
) in die Datenbank zu importieren:
bin/magento app:config:import [-n, --no-interaction]
Verwenden Sie das optionale [-n, --no-interaction]
-Flag, um Daten ohne Interaktion zu importieren.
Wenn Sie bin/magento app:config:import
ohne die optionale Markierung eingeben, müssen Sie die Änderungen bestätigen.
Wenn die Konfigurationsdatei beispielsweise eine neue Website und einen neuen Store enthält, wird die folgende Meldung angezeigt:
These Websites will be created: New Website
These Groups will be created: New Store
Do you want to continue [yes/no]?
Um den Import fortzusetzen, geben Sie yes
ein.
Wenn Bereitstellungskonfigurationsdateien einige zu importierende Daten enthalten, wird eine Meldung ähnlich der folgenden angezeigt:
Start import:
Some information about importing
Wenn Bereitstellungskonfigurationsdateien keine zu importierenden Daten enthalten, wird eine Meldung ähnlich der folgenden angezeigt:
Start import:
Nothing to import
Was wir importieren
In den folgenden Abschnitten wird ausführlich erläutert, welche Daten wir importieren.
Systemkonfiguration
Commerce verwendet Werte im system
-Array direkt in den config.php
- oder env.php
-Dateien, anstatt sie in die Datenbank zu importieren, da sie einige Vor- und Nachbearbeitungsaktionen erfordern.
Beispielsweise muss der Wert des Konfigurationspfads web/secure/base_url
mit Backend-Modellen validiert werden.
Backend-Modelle
Backend-Modelle sind der Mechanismus zum Verarbeiten von Änderungen an der Systemkonfiguration.
Backend-Module werden in <module_name>/adminhtml/system.xml
definiert.
Alle Backend-Modelle müssen die Magento\Framework\App\Config\Value
-Klasse erweitern.
Beim Importieren von Backend-Modellen werden die Konfigurationswerte nicht gespeichert.
Konfiguration von Websites, Stores und Store-Gruppen
Wir importieren die folgenden Arten von Konfigurationen.
(Diese Konfigurationen befinden sich unter dem scopes
Array in config.php
.)
websites
: Websites-bezogene Konfigurationgroups
: speichert die zugehörige Konfigurationstores
: Konfiguration im Zusammenhang mit Ansichten speichern
Die vorherigen Konfigurationen können in den folgenden Modi importiert werden:
create
:config.php
enthält neue Entitäten (websites
,groups
,stores
), die in der Produktionsumgebung fehlenupdate
:config.php
enthält Entitäten (websites
,groups
,stores
), die sich von der Produktionsumgebung unterscheidendelete
:config.php
enthält nicht Entitäten (websites
,groups
,stores
), die in der Produktionsumgebung vorhanden sind
Design-Konfiguration
Die Designkonfiguration umfasst alle Designs, die in Ihrem Commerce-System registriert sind. Die Daten stammen direkt aus der theme
Datenbanktabelle. (Die Design-Konfiguration befindet sich im themes
-Array in config.php
.)
Struktur der Designdaten
Der Schlüssel des Arrays ist der vollständige Designpfad: area
+ theme path
Beispiel: frontend/Magento/luma
.frontend
ist „area“ und Magento/luma
ist „theme path“.
Der Wert des Arrays besteht aus Daten zum Design: Code, Titel, Pfad, übergeordnete ID
Beispiel:
'frontend/Magento/luma' =>
array (
'parent_id' => 'Magento/blank',
'theme_path' => 'Magento/luma',
'theme_title' => 'Magento Luma',
'is_featured' => '0',
'area' => 'frontend',
'type' => '0',
'code' => 'Magento/luma',
),
- Design-Registrierung. Wenn Design-Daten in
config.php
definiert sind, der Quell-Code des Designs jedoch nicht im Dateisystem vorhanden ist, wird das Design ignoriert (d. h. nicht registriert). - Design-Entfernung. Wenn in
config.php
kein Design vorhanden ist, der Quell-Code jedoch im Dateisystem vorhanden ist, wird das Design nicht entfernt.