設定設定值
本主題討論可用來執行下列作業的進階組態命令:
- 從命令列設定任何組態選項
- 可選擇鎖定任何設定選項,使其值無法在Admin中變更
- 變更在Admin中鎖定的設定選項
您可以使用這些命令來手動或使用指令碼設定Commerce設定。 您使用 組態路徑 設定組態選項,這是唯一識別該組態選項的/
分隔字串。 您可在下列參照中找到組態路徑:
您可以在下列時間設定值:
-
安裝Commerce之前,您只能為預設範圍設定設定設定值,因為這是唯一有效的範圍。
-
安裝Commerce後,您可以為任何網站或商店檢視範圍設定設定值。
使用下列命令:
bin/magento config:set
根據其設定路徑設定任何非敏感設定值bin/magento config:sensitive:set
會依據其設定路徑設定任何敏感的設定值bin/magento config:show
顯示已儲存的設定值;加密設定的值顯示為星號
必要條件
若要設定組態值,您必須至少知道下列其中一項:
-
設定路徑
-
若要設定特定範圍的組態值,您必須知道範圍代碼。
若要設定預設範圍的設定值,您不需要執行任何動作。
尋找設定路徑
請參閱下列參考資料:
尋找範圍代碼
您可以在Commerce資料庫或Commerce管理員中找到範圍代碼。
若要在Admin 中尋找範圍代碼:
-
以可檢視網站和商店檢視的使用者身分登入「管理員」。
-
按一下「Stores >設定> All Stores」。
-
在右窗格中,按一下網站或商店檢視的名稱,以檢視其程式碼。
下圖顯示範例網站程式碼。
-
繼續設定值。
若要在資料庫 中尋找範圍代碼:
網站和存放區檢視的範圍程式碼分別儲存在store_website
和store
表格的Commerce資料庫中。
-
連線至Commerce資料庫。
code language-bash 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-none [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 value
下表說明set
命令引數:
--scope
default
、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
。path
value
--lock-env
和--lock-config
選項會取代--lock
選項。--lock-env
或--lock-config
選項來設定或變更值,則必須使用bin/magento app:config:import
命令來匯入設定,然後才能存取Admin或Storefront。如果您輸入的設定路徑不正確,這個命令會傳回錯誤
The "wrong/config/path" does not exist
如需詳細資訊,請參閱下列其中一節:
設定可在Admin中編輯的設定值
使用bin/magento config:set
(不含 --lock-env
或--lock-config
)將值寫入資料庫。 您以這種方式設定的值可在Admin中編輯。
設定存放區基底URL的部分範例如下:
設定預設範圍的基底URL:
bin/magento config:set web/unsecure/base_url http://example.com/
設定base
網站的基底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/
設定無法在Admin中編輯的設定值
如果您依下列方式使用--lock-env
選項,該命令會將組態值儲存在<Commerce base dir>/app/etc/env.php
中,並停用Admin中用於編輯此值的欄位。
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
是設定的範圍(預設、網站、商店)。 預設值為default
--scope-code
是設定的範圍代碼(網站代碼或商店檢視代碼)path
是格式為first_part/second_part/third_part/etc (required)的設定路徑
範例
若要顯示所有儲存的組態:
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
網站 的所有已儲存設定:
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
網站 的基本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/