設定値の設定
このトピックでは、次の目的で使用できる高度な設定コマンドについて説明します。
- コマンドラインから任意の設定オプションを設定します
- オプションで設定オプションをロックして、その値を管理者で変更できないようにします
- 管理者でロックされている設定オプションの変更
これらのコマンドを使用して、Commerce設定を手動またはスクリプトを使用して設定できます。 設定オプションは、設定パスを使用して設定できます。これは、設定オプションを一意に識別する/区切りの文字列です。 次の参照で設定パスを見つけることができます。
次のタイミングで値を設定できます。
-
Commerceをインストールする前に、デフォルトスコープの設定値のみを設定できます。これは、デフォルトスコープが唯一の有効なスコープであるためです。
-
Commerceをインストールした後、web サイトまたはストアビューのスコープの設定値を設定できます。
次のコマンドを使用します。
bin/magento config:setは、設定パスによって機密性のない設定値を設定しますbin/magento config:sensitive:setは、設定パスによって機密性の高い設定値を設定しますbin/magento config:showには保存された設定値が表示されます。暗号化された設定の値はアスタリスクとして表示されます
前提条件
設定値を設定するには、少なくとも次のいずれかを把握している必要があります。
-
設定パス
-
特定のスコープの設定値を設定するには、スコープコードを把握している必要があります。
デフォルトのスコープの設定値を設定するには、何もする必要はありません。
設定パスの検索
次の参照を参照してください。
スコープコードの検索
スコープコードは、Commerce データベースまたはCommerce管理者で確認できます。
管理者でスコープ コードを検索するには:
-
Web サイトとストアビューを表示できるユーザーとして管理者にログインします。
-
Stores / 設定/ All Storesをクリックします。
-
右側のペインで、web サイトまたはストアビューの名前をクリックして、そのコードを表示します。
次の図は、web サイトのコードの例を示しています。
-
値を設定で続行します。
データベース内のスコープ コードを検索するには:
Web サイトとストアビューのスコープ コードは、それぞれstore_websiteおよびstore テーブルのCommerce データベースに保存されます。
-
Commerce データベースに接続します。
code language-shell mysql -u <Commerce database username> -p -
次のコマンドを入力します。
code language-shell use <Commerce database name>;code language-shell SELECT * FROM store;code language-shell SELECT * FROM store_website;サンプル結果は次のとおりです。
code language-ini [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 | +------------+-------+--------------+------------+------------------+------------+code列の値を使用します。 -
次のセクションに進みます。
値を設定
システム固有の設定値を設定するには:
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
機密性の高い設定値を設定するには:
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path
次の表に、set コマンド パラメーターを示します。
--scopedefault、websiteまたはstoreです。 デフォルトはdefaultです。--scope-code-e or --lock-env<Commerce base dir>/app/etc/env.php ファイルに書き込みます。-c or --lock-config<Commerce base dir>/app/etc/config.php ファイルに書き込みます。 両方のオプションを指定すると、--lock-config オプションは--lock-envを上書きします。pathvalue--lock-envおよび--lock-config オプションが--lock オプションに代わっています。 これらのオプションのいずれかを使用すると、値はapp/etc/env.phpまたはapp/etc/config.php ファイルに直接書き込まれ、管理者では読み取り専用になります。 これらのファイルから構成の変更をデータベースに読み込むには、bin/magento app:config:import コマンドを実行します。例えば、ファイルを手動で編集または再デプロイした後です。設定パスが正しくない場合、このコマンドはエラーを返します
The "wrong/config/path" does not exist
詳しくは、次のいずれかの節を参照してください。
管理者で編集可能な設定値を設定する
値をデータベースに書き込むには、bin/magento config:set __ --lock-envまたは--lock-configを使用せずに使用します。 この方法で設定した値は、管理者で編集できます。
ストアベース URLを設定する例をいくつか紹介します。
デフォルトスコープのベース URLを設定します。
bin/magento config:set web/unsecure/base_url http://example.com/
base web サイトのベース URLを設定します。
bin/magento config:set --scope=websites --scope-code=base web/unsecure/base_url http://example2.com/
test ストアビューのベース URLを設定します。
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
管理者で編集できない設定値を設定する
次のように--lock-env オプションを使用すると、コマンドは設定値を<Commerce base dir>/app/etc/env.phpに保存し、この値を管理者で編集するためのフィールドを無効にします。
bin/magento config:set --lock-env --scope=stores --scope-code=default web/unsecure/base_url http://example3.com
Commerceがインストールされていない場合は、--lock-env オプションを使用して設定値を設定できます。 ただし、デフォルトの範囲に対してのみ値を設定できます。
env.php ファイルはシステム固有です。 別のシステムに転送しないでください。 これを使用すると、データベースから設定値を上書きできます。 例えば、別のシステムからデータベースダンプを取得し、base_urlおよびその他の値を上書きして、データベースを変更する必要がないようにすることができます。次のように--lock-config オプションを使用すると、設定値は<Commerce base dir>/app/etc/config.phpに保存されます。 管理者でこの値を編集するためのフィールドが無効になっています。
bin/magento config:set --lock-config --scope=stores --scope-code=default web/url/use_store 1
Commerceがインストールされていない場合は、--lock-configを使用して設定値を設定できます。 ただし、デフォルトの範囲に対してのみ値を設定できます。
config.phpを別のシステムに転送して、同じ設定値を別のシステムで使用できます。 例えば、テストシステムがある場合、同じconfig.phpを使用すると、同じ設定値を再度設定する必要がなくなります。構成設定の値の表示
コマンドオプション:
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
どこで
--scopeは設定の範囲(既定、web サイト、ストア)です。 デフォルト値はdefaultです--scope-codeは設定のスコープ コード (web サイト コードまたはストア ビューのコード)ですpathは、first part/second part/third_part/etc形式の設定パスです(必須)
例
保存されたすべての設定を表示するには:
bin/magento config:show
施策:
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
base web サイトのすべての保存済み設定を表示するには:
bin/magento config:show --scope=websites --scope-code=base
施策:
web/unsecure/base_url - http://example-for-website.com/
general/region/state_required - AT,BR,CA
デフォルトスコープのベース URLを表示するには:
bin/magento config:show web/unsecure/base_url
施策:
web/unsecure/base_url - http://example.com/
base web サイトのベース URLを表示するには:
bin/magento config:show --scope=websites --scope-code=base web/unsecure/base_url
施策:
web/unsecure/base_url - http://example-for-website.com/
default ストアのベース URLを表示するには:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
施策:
web/unsecure/base_url - http://example-for-store.com/