安装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 &