[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}
安装Adobe Commerce 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包。
| 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 -Acode 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:upgradecode language-bash bin/magento setup:di:compilecode language-bash bin/magento setup:static-content:deploy -fcode language-bash bin/magento cache:cleannote note NOTE 在生产模式下,您可能会收到发送给 Please rerun Magento compile command的消息。 输入命令以完成安装。 Adobe Commerce不会提示您以开发人员模式运行编译命令。
完成安装后,配置并启动消息使用者。
消息使用者
Adobe Commerce B2B扩展使用MySQL进行消息队列管理。 下表列出了支持B2B功能的消息使用者。 安装该扩展后,启动消息消费者,了解Commerce店面所需的B2B功能。
sharedCatalogUpdatePricesharedCatalogUpdateCategoryPermissionsnegotiableQuotePriceUpdatepurchaseorder.toorderpurchaseorder.transactional.emailpurchaseorder.validationquoteItemCleanerinventoryQtyCounter配置消息使用者
在针对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功能。