Festlegen von Konfigurationswerten
In diesem Thema werden erweiterte Konfigurationsbefehle erläutert, die Sie für folgende Aufgaben verwenden können:
- Konfigurationsoption über die Befehlszeile festlegen
- Optional können Sie jede Konfigurationsoption sperren, sodass deren Wert im Admin nicht geändert werden kann
- Konfigurationsoption ändern, die in der Admin-Konsole gesperrt ist
Sie können diese Befehle verwenden, um die Commerce-Konfiguration manuell oder mithilfe von Skripten festzulegen. Sie können Konfigurationsoptionen mithilfe eines Konfigurationspfad, was eine /
-getrennte Zeichenfolge, die diese Konfigurationsoption eindeutig identifiziert. Sie finden Konfigurationspfade in den folgenden Referenzen:
Sie können Werte zu folgenden Zeiten festlegen:
-
Vor der Installation von Commerce können Sie Konfigurationswerte nur für den Standardbereich festlegen, da dies der einzige gültige Bereich ist.
-
Nach der Installation von Commerce können Sie Konfigurationswerte für beliebige Website- oder Store-Ansichtsbereiche festlegen.
Verwenden Sie die folgenden Befehle:
bin/magento config:set
legt jeden nicht vertraulichen Konfigurationswert anhand seines Konfigurationspfads festbin/magento config:sensitive:set
legt jeden sensiblen Konfigurationswert anhand des Konfigurationspfads festbin/magento config:show
zeigt gespeicherte Konfigurationswerte an; Werte verschlüsselter Einstellungen werden als Sternchen angezeigt
Voraussetzungen
Um einen Konfigurationswert festzulegen, müssen Sie mindestens einen der folgenden Kenntnisse haben:
-
Der Konfigurationspfad
-
Um einen Konfigurationswert für einen bestimmten Bereich festzulegen, müssen Sie den Scope-Code kennen.
Um einen Konfigurationswert für den Standardbereich festzulegen, müssen Sie nichts unternehmen.
Suchen Sie den Konfigurationspfad
Siehe die folgenden Referenzen:
Suchen des Perimeter-Codes
Sie finden den Perimeter-Code entweder in der Commerce-Datenbank oder im Commerce Admin.
So suchen Sie den Scope-Code in der Admin-Konsole:
-
Melden Sie sich bei Admin als Benutzer an, der Websites anzeigen und Ansichten speichern kann.
-
Klicks Stores > Einstellungen > All Stores.
-
Klicken Sie im rechten Bereich auf den Namen der Website- oder Store-Ansicht, um deren Code anzuzeigen.
Die folgende Abbildung zeigt einen Beispiel-Website-Code.
-
Fahren Sie mit Werte festlegen.
Suchen des Perimeter-Codes in der Datenbank:
Der Perimeter-Code für Websites und Store-Ansichten wird in der Commerce-Datenbank im store_website
und store
-Tabellen.
-
Verbindung zur Commerce-Datenbank herstellen.
code language-bash mysql -u <Commerce database username> -p
-
Geben Sie die folgenden Befehle ein:
code language-shell use <Commerce database name>;
code language-shell SELECT * FROM store;
code language-shell SELECT * FROM store_website;
Ein Beispielergebnis:
code language-terminal [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 | +------------+-------+--------------+------------+------------------+------------+
Verwenden Sie den Wert im
code
Spalte. -
Fahren Sie mit dem nächsten Abschnitt fort.
Werte festlegen
So legen Sie systemspezifische Konfigurationswerte fest:
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
So legen Sie sensible Konfigurationswerte fest:
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path value
Die folgende Tabelle beschreibt die set
-Befehlsparameter:
--scope
default
, website
oder store
. Der Standardwert ist default
.--scope-code
-e or --lock-env
<Commerce base dir>/app/etc/env.php
-Datei.-c or --lock-config
<Commerce base dir>/app/etc/config.php
-Datei. Die --lock-config
Optionsüberschreibungen --lock-env
, wenn Sie beide Optionen angeben.path
value
--lock-env
und --lock-config
ersetzen die Optionen --lock
-Option.--lock-env
oder --lock-config
-Option zum Festlegen oder Ändern eines Werts verwenden Sie die bin/magento app:config:import
command , um die Einstellung zu importieren, bevor Sie auf die Admin- oder Storefront zugreifen.Wenn Sie einen falschen Konfigurationspfad eingeben, gibt dieser Befehl einen Fehler zurück
The "wrong/config/path" does not exist
Weitere Informationen finden Sie in einem der folgenden Abschnitte:
Festlegen von Konfigurationswerten, die im Admin bearbeitet werden können
Verwendung bin/magento config:set
without --lock-env
oder --lock-config
, um den Wert in die Datenbank zu schreiben. Auf diese Weise festgelegte Werte können in der Admin-Konsole bearbeitet werden.
Einige Beispiele zum Festlegen einer Store-Basis-URL:
Legen Sie die Basis-URL für den Standardbereich fest:
bin/magento config:set web/unsecure/base_url http://example.com/
Legen Sie die Basis-URL für die base
Website:
bin/magento config:set --scope=websites --scope-code=base web/unsecure/base_url http://example2.com/
Legen Sie die Basis-URL für die test
Store-Ansicht:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
Festlegen von Konfigurationswerten, die nicht im Admin bearbeitet werden können
Wenn Sie die --lock-env
wie folgt, speichert der Befehl den Konfigurationswert in <Commerce base dir>/app/etc/env.php
und deaktiviert das Feld zum Bearbeiten dieses Werts im Admin.
bin/magento config:set --lock-env --scope=stores --scope-code=default web/unsecure/base_url http://example3.com
Sie können die --lock-env
-Option, um Konfigurationswerte festzulegen, wenn Commerce nicht installiert ist. Sie können jedoch Werte nur für den Standardbereich festlegen.
env.php
-Datei systemspezifisch ist. Sie sollten es nicht auf ein anderes System übertragen. Sie können damit Konfigurationswerte aus der Datenbank überschreiben. Sie können beispielsweise einen Datenbank-Dump von einem anderen System aus erstellen und die base_url
und anderen Werten, sodass Sie die Datenbank nicht ändern müssen.Wenn Sie die --lock-config
wie folgt, wird der Konfigurationswert unter <Commerce base dir>/app/etc/config.php
. Das Feld zum Bearbeiten dieses Werts im Admin ist deaktiviert.
bin/magento config:set --lock-config --scope=stores --scope-code=default web/url/use_store 1
Sie können --lock-config
, um Konfigurationswerte festzulegen, wenn Commerce nicht installiert ist. Sie können jedoch Werte nur für den Standardbereich festlegen.
config.php
in ein anderes System, um dort dieselben Konfigurationswerte zu verwenden. Wenn Sie beispielsweise über ein Testsystem verfügen, verwenden Sie dasselbe config.php
bedeutet, dass Sie nicht dieselben Konfigurationswerte erneut festlegen müssen.Wert der Konfigurationseinstellungen anzeigen
Befehlsoptionen:
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
where
--scope
ist der Konfigurationsbereich (Standard, Website, Store). Der Standardwert istdefault
--scope-code
ist der Code der Konfiguration (Website-Code oder Code der Store-Ansicht)path
ist der Konfigurationspfad im Format first_part/second_part/third_part/etc (erforderlich)
bin/magento config:show
-Befehl zeigt die Werte von verschlüsselte Werte als eine Reihe von Sternchen: ******
.Beispiele
Alle gespeicherten Konfigurationen anzeigen:
bin/magento config:show
Ergebnis:
web/unsecure/base_url - http://example.com/
general/region/display_all - 1
general/region/state_required - AT,BR,CA,CH,EE,ES,FI,LT,LV,RO,US
catalog/category/root_id - 2
analytics/subscription/enabled - 1
Anzeigen aller gespeicherten Konfigurationen für base
website:
bin/magento config:show --scope=websites --scope-code=base
Ergebnis:
web/unsecure/base_url - http://example-for-website.com/
general/region/state_required - AT,BR,CA
So zeigen Sie die Basis-URL für den Standardbereich an:
bin/magento config:show web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example.com/
So zeigen Sie die Basis-URL für die base
website:
bin/magento config:show --scope=websites --scope-code=base web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example-for-website.com/
So zeigen Sie die Basis-URL für die default
store:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example-for-store.com/