Konfigurationseinstellungen überschreiben

In diesem Thema wird beschrieben, wie Sie einen Umgebungsvariablennamen ableiten, der einen Konfigurationspfad kennt. Sie können Adobe Commerce-Konfigurationseinstellungen mithilfe von Umgebungsvariablen überschreiben. Sie können beispielsweise den Wert der Live-URL eines Zahlungsverarbeiters auf Ihrem Produktionssystem überschreiben.

Sie können den Wert der Konfigurationseinstellung any mithilfe von Umgebungsvariablen überschreiben. Adobe empfiehlt jedoch, konsistente Einstellungen mithilfe der freigegebenen Konfigurationsdatei config.php und der systemspezifischen Konfigurationsdatei env.php beizubehalten, wie in der allgemeinen Übersicht über die Bereitstellung beschrieben.

TIP
Sehen Sie sich das Thema Umgebungen konfigurieren im Leitfaden Commerce on Cloud Infrastructure an.

Umgebungsvariablen

Der Name einer Umgebungsvariablen besteht aus ihrem Umfang und seinem Konfigurationspfad in einem bestimmten Format. In den folgenden Abschnitten wird ausführlicher beschrieben, wie Sie einen Variablennamen bestimmen können.

Sie können Variablen für eine der folgenden Optionen verwenden:

Konfigurationspfade finden Sie unter:

Variablennamen

Das allgemeine Format der Variablennamen der Systemeinstellungen lautet wie folgt:

<SCOPE>__<SYSTEM__VARIABLE__NAME>

<SCOPE> kann Folgendes sein:

<SYSTEM__VARIABLE__NAME> ist der Konfigurationspfad mit doppelten Unterstrichen, die durch / ersetzt werden. Weitere Informationen finden Sie unter Schritt 2: Festlegen von Systemvariablen.

Variable format

<SCOPE> wird von <SYSTEM__VARIABLE__NAME> durch zwei Unterstriche getrennt.

<SYSTEM__VARIABLE__NAME> wird vom Konfigurationspfad einer Konfigurationseinstellung abgeleitet, der eine durch / getrennte Zeichenfolge ist, die eine bestimmte Einstellung eindeutig identifiziert. Ersetzen Sie jedes / -Zeichen im Konfigurationspfad durch zwei Unterstriche, um die Systemvariable zu erstellen.

Wenn ein Konfigurationspfad ein Unterstrichzeichen enthält, bleibt der Unterstrich in der Variablen erhalten.

Eine vollständige Liste der Konfigurationspfade finden Sie unter:

Schritt 1: Suchen Sie den Perimeter der Website- oder Store-Ansicht.

In diesem Abschnitt wird beschrieben, wie Sie Systemkonfigurationswerte für scope (Store-Ansicht oder Website) finden und festlegen können. Informationen zum Festlegen globaler Scope-Variablen finden Sie unter Schritt 2: Festlegen von globalen, Website- oder Store-Ansichtsvariablen.

Die Summenwerte stammen aus den Tabellen store, store_group und store_website.

  • Die Tabelle store gibt Namen und Codes der Store-Ansichten an
  • Die Tabelle store_website gibt die Namen und Codes der Websites an

Sie können die Codewerte auch mit dem Admin finden.

So lesen Sie die Tabelle:

  • Path in Admin Spalte

    Werte vor dem Komma sind Pfade in der Admin-Navigation. Werte nach dem Komma sind Optionen im rechten Bereich.

  • Variable name column ist der Name der entsprechenden Umgebungsvariablen.

    Sie können bei Bedarf Systemwerte für diese Konfigurationsparameter als Umgebungsvariablen angeben.

    • Der gesamte Variablenname ist immer ALL CAPS
    • Variablennamen mit CONFIG__ beginnen (beachten Sie zwei Unterstriche)
    • Sie finden den Teil <STORE_VIEW_CODE> oder <WEBSITE_CODE> eines Variablennamens entweder in der Admin- oder Commerce-Datenbank, wie in den folgenden Abschnitten angegeben.
    • Sie finden <SYSTEM__VARIABLE__NAME> wie in Schritt 2: Festlegen von globalen, Website- oder Store-Ansichtsvariablen beschrieben.

Suchen eines Website- oder Store-Ansichtsbereichs in der Admin-Konsole

In der folgenden Tabelle wird zusammengefasst, wie Sie den Anzeigewert der Website oder des Stores in der Admin-Konsole finden.

Beschreibung
Pfad in Admin
Variablenname
Erstellen, Bearbeiten und Löschen von Store-Ansichten
Stores > All Stores
CONFIG__STORES__<STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
Websites erstellen, bearbeiten, löschen
Stores > All Stores
CONFIG__WEBSITES__<WEBSITE_CODE>__<SYSTEM__VARIABLE__NAME>

So suchen Sie beispielsweise einen Website- oder Store-Ansichtsbereichswert in der Admin-Konsole:

  1. Melden Sie sich bei Admin als Benutzer an, der zum Anzeigen von Websites berechtigt ist.

  2. Klicken Sie auf Stores > All Stores.

  3. Klicken Sie auf den Namen einer Website- oder Store-Ansicht.

    Der rechte Bereich wird ähnlich dem folgenden angezeigt.

    Website-Code suchen

  4. Der Bereichsname wird im Feld Code angezeigt.

  5. Fahren Sie mit Schritt 2: Legen Sie globale, Website- oder Store-Ansichtsvariablen fest.

Suchen eines Website- oder Store-Ansichtsbereichs in der Datenbank

So rufen Sie diese Werte aus der Datenbank ab:

  1. Melden Sie sich bei Ihrem Entwicklungssystem als Eigentümer des Dateisystems an, falls Sie dies noch nicht getan haben.

  2. Geben Sie den folgenden Befehl ein:

    code language-bash
    mysql -u <database-username> -p
    
  3. Geben Sie an der Eingabeaufforderung mysql> die folgenden Befehle in der angegebenen Reihenfolge ein:

    code language-shell
    use <database-name>;
    
  4. Verwenden Sie die folgenden SQL-Abfragen, um die relevanten Werte zu finden:

    code language-shell
    SELECT * FROM STORE;
    SELECT * FROM STORE_WEBSITE;
    

    Ein Beispiel:

    code language-shell
    mysql> SELECT * FROM STORE_WEBSITE;
    +------------+-------+--------------+------------+------------------+------------+
    | website_id | code  | name         | sort_order | default_group_id | is_default |
    +------------+-------+--------------+------------+------------------+------------+
    |          0 | admin | Admin        |          0 |                0 |          0 |
    |          1 | base  | Main Website |          0 |                1 |          1 |
    |          2 | test1 | Test Website |          0 |                3 |          0 |
    +------------+-------+--------------+------------+------------------+------------+
    
  5. Verwenden Sie den Wert aus der Spalte code als Bereichsnamen, nicht den Wert name .

    Um beispielsweise eine Konfigurationsvariable für die Test-Website festzulegen, verwenden Sie folgendes Format:

    code language-shell
    CONFIG__WEBSITES__TEST1__<SYSTEM__VARIABLE__NAME>
    

    wobei <SYSTEM__VARIABLE__NAME> aus dem nächsten Abschnitt kommt.

Schritt 2: Festlegen der Variablen für globale, Website- oder Store-Ansichten

In diesem Abschnitt wird beschrieben, wie Sie Systemvariablen festlegen.

  • Um Werte für den globalen Gültigkeitsbereich (d. h. alle Websites, Stores und Store-Ansichten) festzulegen, beginnen Sie den Variablennamen mit CONFIG__DEFAULT__.

  • Um einen Wert für eine bestimmte Store-Ansicht oder Website festzulegen, starten Sie den Variablennamen wie in Schritt 1: Suchen Sie den Perimeter-Wert beschrieben:

    • CONFIG__WEBSITES
    • CONFIG__STORES
  • Der letzte Teil des Variablennamens ist der Konfigurationspfad, der für jede Konfigurationseinstellung eindeutig ist.

Siehe einige Beispiele.

Die folgende Tabelle zeigt einige Beispielvariablen.

Beschreibung
Pfad in Admin (ohne Speicher > Einstellungen > Konfiguration)
Variablenname
Hostname des Elasticsearch-Servers
Katalog > Katalog, Hostname des Elasticsearch-Servers
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
Elasticsearch-Serveranschluss
Katalog > Katalog, Elasticsearch Server Port
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_PORT
Herkunft des Versandlandes
Vertrieb > Versandeinstellungen
<SCOPE>__SHIPPING__ORIGIN__COUNTRY_ID
Benutzerdefinierte Admin-URL
Erweitert > Admin
<SCOPE>__ADMIN__URL__CUSTOM
Benutzerdefinierter Administratorpfad
Erweitert > Admin
<SCOPE>__ADMIN__URL__CUSTOM_PATH

Beispiele

Dieser Abschnitt zeigt, wie Sie Werte einiger Beispielvariablen finden.

Hostname des Elasticsearch-Servers

So suchen Sie den Variablennamen für die globale HTML-Minimierung:

  1. Legen Sie den Umfang fest.

    Es handelt sich um den globalen Umfang, sodass der Variablenname mit CONFIG__DEFAULT__ beginnt

  2. Der Rest des Variablennamens ist CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME.

    Ergebnis: Der Variablenname ist CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME

Herkunft des Versandlandes

So suchen Sie den Variablennamen für den Versandlandherkunft:

  1. Legen Sie den Umfang fest.

    Suchen Sie den Perimeter in der Datenbank, wie in Schritt 1: Suchen Sie den Perimeter der Website- oder Store-Ansicht. (Sie können den Wert auch im Admin finden, wie in der Tabelle "[in Schritt 2: Festlegen der globalen, Website- oder Store-Ansichtsvariablen]"(#step-2-set-global-website-or-store-view-variables dargestellt.

    Der Umfang kann beispielsweise CONFIG__WEBSITES__DEFAULT sein.

  2. Der Rest des Variablennamens ist SHIPPING__ORIGIN__COUNTRY_ID.

    Ergebnis: Der Variablenname ist CONFIG__WEBSITES__DEFAULT__SHIPPING__ORIGIN__COUNTRY_ID

Verwenden von Umgebungsvariablen

Legen Sie Konfigurationswerte mithilfe des $_ENV -assoziierten Arrays von PHP als Variablen fest. Sie können die Werte in jedem PHP-Skript festlegen, das ausgeführt wird, wenn Commerce ausgeführt wird.

TIP
Das Festlegen von Variablenwerten in index.php oder pub/index.php funktioniert nicht immer erwartungsgemäß, da je nach Webserverkonfiguration unterschiedliche Einstiegspunkte für die Anwendung verwendet werden können. Durch Platzierung von $_ENV -Direktiven in die Datei app/bootstrap.php werden unabhängig von den verschiedenen Einstiegspunkten der Anwendung die $_ENV-Direktiven immer ausgeführt, da die app/bootstrap.php-Datei im Rahmen der Commerce-Architektur geladen wird.

Ein Beispiel für die Festlegung von zwei $_ENV -Werten:

$_ENV['CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME'] = 'http://search.example.com';
$_ENV['CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__MERCHANT_VAT_NUMBER'] = '1234';

Ein schrittweises Beispiel wird unter Festlegen von Konfigurationswerten mithilfe von Umgebungsvariablen gezeigt.

WARNING
  • Um die Werte zu verwenden, die Sie im Array $_ENV festgelegt haben, müssen Sie variables_order = "EGPCS" (Umgebung, Abruf, Beitrag, Cookie und Server) in Ihrer php.ini-Datei festlegen. Weitere Informationen finden Sie in der PHP-Dokumentation.

  • Wenn Sie bei Adobe Commerce in der Cloud-Infrastruktur versuchen, Konfigurationseinstellungen mithilfe der Projekt-Webschnittstelle zu überschreiben, müssen Sie dem Variablennamen "env:"voranstellen. Beispiel:

Beispiel für Umgebungsvariable
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c