Konfigurationseinstellungen importieren

WARNING
Alle Magento-CLI-Befehle müssen vom Dateisysteminhaber ausgeführt werden.

Wenn Sie ein Produktionssystem mit dem Commerce 2.2 Pipeline-Bereitstellungsmodell einrichten, müssen Sie Konfigurationseinstellungen vom Typ config.php und vom Typ env.php in die Datenbank importieren.
Zu diesen Einstellungen gehören Konfigurationspfade und -werte, Websites, Stores, Store-Ansichten und Designs.

Nach dem Import von Websites, Geschäften, Ansichten und Designs können Sie Produktattribute erstellen und auf Websites, Stores und Store-Ansichten im Produktionssystem anwenden.

INFO
Der Befehl bin/magento app:config:import verarbeitet keine in Umgebungsvariablen gespeicherten Konfigurationen.

Import, Befehl

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 Flag [-n, --no-interaction] , 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]?

Geben Sie yes ein, um den Import fortzusetzen.

Wenn Bereitstellungskonfigurationsdateien 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 beschrieben, welche Daten importiert werden.

Systemkonfiguration

Commerce verwendet direkt Werte im Array system in den Dateien config.php oder env.php, anstatt sie in die Datenbank zu importieren, da sie einige Vorab- und Nachbearbeitungsvorgänge erfordern.

Beispielsweise muss der Wert des Konfigurationspfads web/secure/base_url mit Backend-Modellen überprüft werden.

Backend-Modelle

Backend-Modelle sind der Mechanismus zur Verarbeitung von Änderungen in der Systemkonfiguration.
Sie definieren Backend-Module in <module_name>/adminhtml/system.xml.

Alle Backend-Modelle müssen die Klasse Magento\Framework\App\Config\Value erweitern.

Beim Importieren von Backend-Modellen werden die Konfigurationswerte nicht gespeichert.

Konfiguration von Websites, Stores und Stores

Wir importieren die folgenden Arten von Konfigurationen.
(Diese Konfigurationen befinden sich unter dem scopes -Array in config.php.)

  • websites: Konfiguration im Zusammenhang mit Websites
  • groups: Speichert die zugehörige Konfiguration
  • stores: Konfiguration von Ansichten speichern

Die vorangehenden Konfigurationen können in den folgenden Modi importiert werden:

  • create: config.php enthält neue Entitäten (websites, groups, stores), die in der Produktionsumgebung fehlen
  • update: config.php enthält Entitäten (websites, groups, stores), die sich von der Produktionsumgebung unterscheiden
  • delete: config.php enthält nicht Entitäten (websites, groups, stores), die in der Produktionsumgebung vorhanden sind
INFO
Die mit Stores verknüpfte Stammkategorie wird nicht importiert. Sie müssen mit dem Commerce-Administrator eine Stammkategorie mit einem Store verknüpfen.

Designkonfiguration

Die Designkonfiguration umfasst alle in Ihrem Commerce-System registrierten Designs. Die Daten stammen direkt aus der Datenbanktabelle theme. (Die Designkonfiguration befindet sich im Array themes 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 Bereich und Magento/luma ist Designpfad.

Der Wert des Arrays ist Daten zum Thema: Code, Titel, Pfad, übergeordnete ID

Vollständiges 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',
),
INFO
  • Themenregistrierung. Wenn Designdaten in config.php definiert sind, der Quellcode des Designs jedoch nicht im Dateisystem vorhanden ist, wird das Design ignoriert (d. h. nicht registriert).
  • Designentfernung. Wenn in config.php kein Design vorhanden ist, der Quellcode jedoch im Dateisystem vorhanden ist, wird das Design nicht entfernt.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c