Konfigurationseinstellungen importieren
Wenn Sie ein Produktionssystem mit dem Commerce 2.2 Pipeline-Bereitstellungsmodell einrichten, müssen Sie aus und config.php in die env.php 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.phpenthält neue Entitäten (websites,groups,stores), die in der Produktionsumgebung fehlenupdate:config.phpenthält Entitäten (websites,groups,stores), die sich von der Produktionsumgebung unterscheidendelete:config.phpenthä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.phpdefiniert 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.phpkein Design vorhanden ist, der Quell-Code jedoch im Dateisystem vorhanden ist, wird das Design nicht entfernt.