安裝Adobe Commerce B2B擴充功能
Adobe Commerce B2B擴充功能magento/extension-b2b
適用於所有受支援的Adobe Commerce版本。 它會在安裝Adobe Commerce之後安裝。
需求
- Adobe Commerce,所有支援的版本
- PHP 8.1和8.2
- Composer
支援平台
- 雲端基礎結構上的Adobe Commerce (ECE)
- Adobe Commerce內部部署(EE)
安裝步驟
必要條件
-
存取repo.magento.com以下載擴充功能。 如需金鑰產生與取得必要許可權,請參閱取得您的驗證金鑰。
在COMPOSER_HOME目錄中全域定義驗證金鑰,以儲存驗證金鑰以供安裝。 或者,將它們儲存至Adobe Commerce應用程式根目錄中的auth.json檔案。
-
支援的B2B擴充功能版本 — 決定部署的Adobe Commerce版本支援的最新B2B擴充功能版本。
-
請檢視發行說明,瞭解版本相容性、更新或變更的最新資訊,這些可能會影響安裝或升級需求。
使用撰寫器安裝B2B擴充功能(magento/b2b-extension
)。 此擴充功能是撰寫器中繼資料,其中包括可為Adobe Commerce執行個體啟用B2B功能的模組集合。 如需包含的模組清單,請參閱B2B封裝。
note tip |
---|
TIP |
在雲端基礎結構上安裝Adobe Commerce B2B時,Adobe建議您先將Adobe Commerce應用程式部署至整合或預備環境,再開始進行。 |
將B2B擴充功能新增至專案時,Adobe建議在開發分支中工作。 如果您沒有分支,請參閱為開發建立分支。 安裝B2B副檔名時,Magento_B2b
副檔名會自動插入app/etc/config.php
檔案中。 不需要直接編輯檔案。
若要安裝B2B擴充功能:
-
在本機工作站上,變更至專案目錄。
-
建立或簽出開發分支。
-
將B2B副檔名新增至
composer.json
檔案的require
區段。code language-bash composer require magento/extension-b2b --no-update
-
更新專案相依性。
code language-bash composer update
-
新增、提交和推送程式碼變更。
code language-bash git add -A
code language-bash git commit -m "Install the B2B extension."
code language-bash git push origin <branch-name>
note note NOTE 將更新推播至雲端環境會啟動Commerce雲端部署流程以套用變更。 從部署記錄檢查部署狀態。 如果您遇到部署錯誤,請參閱從元件失敗復原。 -
建置和部署完成後,請使用SSH登入遠端環境,並確認已安裝並啟用B2B擴充功能。
code language-bash bin/magento module:status Magento_B2b
副檔名使用格式:
<VendorName>_<ComponentName>
。範例回應:
code language-none Magento_B2b : Module is enabled
-
從Adobe Commerce應用程式根目錄中,更新
composer.json
以新增B2B擴充功能的相依性:code language-bash composer require magento/extension-b2b:<version>
如果發生錯誤,例如:
code language-none [InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
檢查套件拼字、版本限制,以及套件是否可用且符合您的最低穩定性(穩定)要求。
-
如果出現提示,請輸入您的驗證金鑰。
您的 公開金鑰 是您的使用者名稱;私密金鑰 是您的密碼。 如果您已將您的公開金鑰和私密金鑰儲存在
auth.json
,系統不會提示您進行驗證。 -
在Composer完成更新模組後執行下列命令:
code language-bash bin/magento setup:upgrade
code language-bash bin/magento setup:di:compile
code language-bash bin/magento setup:static-content:deploy -f
code language-bash bin/magento cache:clean
note note NOTE 在生產模式中,您可能會收到傳送給 Please rerun Magento compile command
的訊息。 輸入命令以完成安裝。 Adobe Commerce不會提示您以開發人員模式執行編譯命令。
完成安裝之後,請設定並啟動訊息取用者。
訊息消費者
Adobe Commerce B2B擴充功能使用MySQL進行訊息佇列管理。 下表列出支援B2B功能的訊息消費者。 安裝擴充功能後,針對您的Commerce店面所需的B2B功能啟動訊息消費者。
sharedCatalogUpdatePrice
sharedCatalogUpdateCategoryPermissions
negotiableQuotePriceUpdate
purchaseorder.toorder
purchaseorder.transactional.email
purchaseorder.validation
quoteItemCleaner
inventoryQtyCounter
設定訊息使用者
當您針對B2B功能啟動訊息消費者時,新增下列引數,以防止可能的處理問題或延遲。
-
--max-messages <value>
— 指定每個取用者在終止前必須處理的訊息數目上限(預設值= 10000)。 雖然Adobe不建議這麼做,但您可以使用0來防止消費者終止。 PHP應用程式的最佳實務是重新啟動長時間執行的程式,以防止可能的記憶體流失。 -
--batch-size <value>
— 可讓您限制消費者使用的系統資源(CPU、記憶體)。 使用較小的批次會減少資源使用量,因此會導致處理變慢。 若指定,佇列中的訊息會以<value>
批次(每批次)使用。 此選項僅適用於批次取用者。 如果未定義--batch-size
,則批次取用者會接收佇列中所有可用的訊息。
如需其他組態選項的詳細資訊,請參閱特定組態。
啟動訊息取用者
若要為B2B功能啟用非同步作業,您必須啟動多個訊息取用者。
-
列出可用的訊息取用者:
code language-bash bin/magento queue:consumers:list
命令會傳回可用的訊息消費者,包括所有B2B訊息消費者。
-
分別啟動每個消費者:
code language-bash bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
例如:
code language-bash bin/magento queue:consumers:start quoteItemCleaner
&
,返回提示字元並繼續執行命令。 例如: bin/magento queue:consumers:start sharedCatalogUpdatePrice &
。如需詳細資訊,請參閱 設定指南 中的管理訊息佇列。
將訊息消費者新增至cron
您可以將排程新增至cron組態檔/app/code/Magento/MessageQueue/etc/crontab.xml,以自動執行SharedCatalogUpdateCategoryPermissions
和SharedCatalogUpdatePrice
訊息使用者的執行排程。
* * * * * ps ax | grep [s]haredCatalogUpdateCategoryPermissions >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdateCategoryPermissions &
* * * * * ps ax | grep [s]haredCatalogUpdatePrice >>/dev/null 2>&1 || nohup php /var/www/html/magento2/bin/magento queue:consumers:start sharedCatalogUpdatePrice &
您也可以從「管理員」的存放區組態設定設定訊息取用者的排程。
在管理員中啟用B2B功能
安裝Adobe Commerce B2B擴充功能並啟動訊息消費者後,您還必須在管理員中啟用B2B功能。