安装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功能。