安裝Adobe Commerce B2B擴充功能
- 主題:
- B2B
建立對象:
- 初學者
- 中繼
- 管理員
- 開發人員
Adobe Commerce B2B擴充功能magento/extension-b2b
適用於所有受支援的Adobe Commerce版本。 它會在安裝Adobe Commerce之後安裝。
需求
- Adobe Commerce,所有支援的版本
- PHP 8.1、8.2和8.3 (需要B2B 1.5.0)
- 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封裝。
將B2B擴充功能新增至專案時,Adobe建議在開發分支中工作。 如果您沒有分支,請參閱為開發建立分支。 安裝B2B副檔名時,Magento_B2b
副檔名會自動插入app/etc/config.php
檔案中。 不需要直接編輯檔案。
若要安裝B2B擴充功能:
-
在本機工作站上,變更至專案目錄。
-
建立或簽出開發分支。
-
將B2B副檔名新增至
composer.json
檔案的require
區段。composer require magento/extension-b2b --no-update
-
更新專案相依性。
composer update
-
新增、提交和推送程式碼變更。
git add -A
git commit -m "Install the B2B extension."
git push origin <branch-name>
-
建置和部署完成後,請使用SSH登入遠端環境,並確認已安裝並啟用B2B擴充功能。
bin/magento module:status Magento_B2b
副檔名使用格式:
<VendorName>_<ComponentName>
。範例回應:
Magento_B2b : Module is enabled
-
從Adobe Commerce應用程式根目錄中,更新
composer.json
以新增B2B擴充功能的相依性:composer require magento/extension-b2b:<version>
如果發生錯誤,例如:
[InvalidArgumentException] Could not find a matching version of package magento/extension-b2b.
檢查套件拼字、版本限制,以及套件是否可用且符合您的最低穩定性(穩定)要求。
-
如果出現提示,請輸入您的驗證金鑰。
您的 公開金鑰 是您的使用者名稱;私密金鑰 是您的密碼。 如果您已將您的公開金鑰和私密金鑰儲存在
auth.json
,系統不會提示您進行驗證。 -
在Composer完成更新模組後執行下列命令:
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:clean
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
,則批次取用者會接收佇列中所有可用的訊息。
-
列出可用的訊息取用者:
bin/magento queue:consumers:list
命令會傳回可用的訊息消費者,包括所有B2B訊息消費者。
-
分別啟動每個消費者:
bin/magento queue:consumers:start [--max-messages=<value>] [--batch-size=<value>] <consumer_name>
例如:
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 &