Magento Open Source2.4.1发行说明

Magento Open Source2.4.1引入了性能和安全性增强功能。 安全增强功能包括支持Cookie的SameSite属性,为与支付和订单相关的API端点以及下单店面页面添加了CAPTCHA保护。

此版本包括2.4.0中包含的所有核心质量改进、核心代码的150多项新修复以及超过15项安全增强功能。 其中包括我们的社区成员解决近300个GitHub问题。 这些社区贡献的内容包括对核心代码进行次要清理,以及GraphQL中的重大增强。

此版本中修复了2.4.0中识别的所有已知问题。

NOTE
Adobe Commerce版本可能包含向后不兼容的更改(BIC)。 要查看与向后不兼容的更改,请参阅BIC参考。 在BIC亮点中描述了严重的向后不兼容问题。 并非所有发行版本都引进了主要BIC。

安全补丁可用

商家现在无需应用完整季度版本(例如2.4.0-p1)提供的数百个功能修复和增强功能,即可安装时效性很强的安全修复。 修补程序2.4.0.1(Composer包2.4.0-p1)是一个安全修补程序,它针对我们以前的季度版本2.4.0中发现的漏洞提供了修复。此安全修补程序中包含应用于2.4.0版本的所有修补程序。 (修补程序 ​提供对已发布版本的修补程序,该版本可解决特定问题或错误。)

有关安全修补程序的一般信息,请参阅Introducing the New Security Patch Release。 有关下载和应用安全修补程序(包括修补程序2.3.5-p2)的说明,请参阅快速入门本地安装。 安全修补程序仅包括安全错误修复,而不包括完整修补程序中包含的其他安全增强功能。

应用AC-3022.patch以继续将DHL作为装运承运人提供

DHL已引入架构版本6.2,并且将在不久的将来弃用架构版本6.0。 支持DHL集成的Adobe Commerce 2.4.4及更早版本仅支持版本6.0。部署这些版本的商家应尽早应用AC-3022.patch,以继续将DHL作为装运承运人提供。 有关下载和安装修补程序的信息,请参阅应用修补程序以继续将DHL作为运输运营商提供知识库文章。

其他发行信息

虽然这些功能的代码与季度版本捆绑在一起,但其中几个项目(例如,Progressive Web Application(PWA)Studio)也单独发布。 每个项目的文档中都提供了特定于项目的单独发行信息,其中记录了这些项目的错误修复。

高亮

在此版本中查找以下要点。

显着的安全增强功能

此版本包括15项以上的安全修复和平台安全改进。 所有安全修复均已回溯至2.4.0-p1和2.3.6。

超过15项安全增强功能,可帮助消除远程代码执行(RCE)和跨站点脚本(XSS)漏洞

到目前为止,尚未发生与这些问题相关的已确认攻击。 但是,可能会利用某些漏洞访问客户信息或接管管理员会话。 这些问题中的大多数要求攻击者首先获得对管理员的访问权限。 列入允许列表因此,我们提醒您采取一切必要步骤来保护您的管理员,包括但不限于:IP身份验证、双重身份验证、使用VPN、使用唯一位置而非/admin以及良好的密码卫生。 有关这些已修复问题的讨论,请参阅可用于Magento的安全更新。

其他安全增强功能

此版本的安全性改进包括:

  • CAPTCHA ​保护已添加到以下产品区域:

    • 下单店面页面和REST和GraphQL端点
    • 与付款相关的REST和GraphQL端点。

    默认情况下,将禁用对这些附加页面的验证码保护。 它可以在管理员中启用,其启用方式与验证码涵盖的其他页面相同。 此保护已添加为反暴力机制,以保护商店免受梳理攻击。 请参阅验证码

  • 支持Cookie的SameSite属性。 为了支持新Cookie分类系统的Google Chrome实施,已更新处理Cookie的应用程序类以支持SameSite Cookie属性。 此属性默认设置为Lax,但可以显式覆盖。

  • 增强的安全扫描工具。 Adobe已与Sanguine Security(防止数字盗版的领先者)合作,将其超过8700个威胁签名的数据库集成到安全扫描工具中。 这种合作关系将使商家能够通过主动检测恶意软件并减少误报,实时了解其网站的安全状态。 商家可以通过访问https://account.magento.com/scanner注册该工具。 有关详细信息,请参阅使用增强的安全扫描工具保护您的店面博客文章。

NOTE
从2.3.2版本开始,我们将分配并发布索引式常见漏洞和暴露(CVE)编号,其中会包含外部方报告给我们的每个安全错误。 这使用户能够更轻松地识别其部署中未解决的漏洞。 您可以在CVE了解有关CVE标识符的更多信息。

基础架构改进

此版本包含对核心质量的增强,这些改进改进了Framework以及以下功能区域的质量:客户帐户、目录、CMS、OMS、导入/导出、促销和定位、购物车和结账以及暂存和预览。

性能改进

  • 减少Redis与Magento之间的网络传输大小。 现在在执行bin/magento di:compile命令期间生成插件列表配置。 此配置信息会根据作用域写入生成的元数据文件夹。 以前,此信息存储在缓存中。 产生的性能改进包括减少网络缓存大小和执行时间(对于许多情形)。

  • 增强的消息队列使用者性能。 三个新的配置设置支持减少使用者队列CPU消耗。 这些可选参数可增强对使用者的控制并节省服务器资源。 有关maxIdleTimesleeponlySpawnWhenMessageAvailable参数的说明,请参阅配置消息队列

  • 已改进bin/magento命令的执行时间

Adobe Stock集成

此版本包括Adobe Stock集成v2.1.0。

新建媒体集

新媒体集现在默认在Admin中启用。 商家现在可以对媒体集中的图像执行以下操作:

  • 批量删除图像

  • 通过识别店面未使用的重复图像和图像优化媒体存储

  • 按图像使用的店面区域筛选图像,包括产品和类别内容以及CMS块

  • 使用图像元数据

    • 查看上传到媒体集的图像中的元数据
    • 编辑图像元数据(标题、描述和关键字)
    • 按图像的元数据搜索图像

GraphQL

此版本添加了GraphQL涵盖以下功能的功能:

有关这些增强功能的详细信息,请参阅GraphQL开发人员指南

PWA Studio

PWA Studio v8.0.0引入了以下新增功能和增强功能:

  • 对适用于设计令牌、排版规则、颜色、核心组件和页面布局的Venia样式指南进行了更新。

  • 改进了Venia迷你购物车体验

  • 对Venia店面上的多个区域设置和本地化内容的初始支持

  • 对Venia店面的“我的帐户”体验进行了多项改进

有关PWA Studio版本及其兼容版本的列表,请参阅兼容性。 有关增强功能和错误修复的信息,请参阅PWA Studio版本

功能测试框架(MFTF)

MFTF 3.1.0现已可用。 请参阅功能测试框架更改日志

供应商开发的扩展

有关此版本功能和更改的更新,请参阅以下文章:

修复的问题

我们已在2.4.1核心代码中修复了数百个问题。

安装、升级、部署

  • 在CLI命令中使用依赖于Store模块API的第三方扩展进行安装不会再失败。 以前,应用程序显示此错误消息: The default website isn't defined. Set the website and try again。 这是2.4.0中的一个已知问题。
  • bin/magento setup:di:compile不再引发致命错误。 以前,在您第一次运行此命令时,应用程序会引发错误,但第二次执行会导致编译成功。
  • Magento\Framework\Encryption\Encryptor上声明插件后,升级不再失败。
  • 运行bin/magento setup:static-content:deploy后未部署某些主题时,应用程序现在会显示信息性错误消息。 以前,当部署成功完成但未部署所有包时,应用程序不会显示错误。 当在启用并行处理的情况下执行命令,并且每个主题需要部署的时间超过指定的最大执行时间时,尽管未部署主题,但此命令可以成功完成。
  • 网站范围更改时,Klarna付款的​ 使用默认 ​复选框(商店 > 配置 > 销售 > 付款方式 > Klarna)现在仍按预期保持选中状态。
  • 升级不再导致Galera群集突然失败。 以前,Galera群集在升级后立即重新索引后突然退出。 在升级过程中,索引表被更改,引擎从MEMORY更改为InnoDB。 此时,这些表的内容在Galera群集的节点之间变得不同步。 GitHub-25334
  • 禁用PageBuilder模块不再影响产品页面的呈现。 以前,在禁用模块时,产品页面上的自定义布局会消失,并且应用程序会显示一个空白页面。
  • 使用编辑器安装Magento Open Source后,您现在可以使用bin/magento sampledata:deploy按预期部署示例数据。 以前,应用程序引发此错误: Git installations must deploy sample data from GitHub; see [Clone sample data Git repositories](../../../installation/sample-data/git-repositories.md) for more informationAndrii Beziazychnyi在拉取请求中提交的修复27481GitHub-19481
  • 运行bin/magento config:show <vendor_module>/general/value现在会按预期返回0或空字符串。 以前,它返回Configuration for path: "vendor_module/general/value" doesn't existVadim Malesh在拉取请求中提交的修复28549GitHub-23290
  • bin/magento setup:static-content:deploy --language=all现在部署店面上使用的所有语言以及管理员用户配置的所有语言(未设置语言参数时)。 (en_US始终默认部署。) Anton Evers在拉取请求中提交的修复28922GitHub-29218
  • 目录图像帮助程序初始化现在使用产品模型,而不是DataObject在拉取请求29435 ​中由jmonteros422提交的修复。 GitHub-1711
  • 管理员用户现在可以保存空的​ 客户令牌生命周期(小时) ​字段(管理员​ 商店 > 配置 > 服务 > OAuth > 访问令牌过期)。 GitHub-29502

Adobe Stock集成

  • Adobe Stock图库图像详细信息页面的​ 用于 ​字段现在可以准确识别该图像是否与产品关联。 Nazar Klovanych在拉取请求中提交的修复28798GitHub-1474
  • \Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords::execute现在会删除指向参数上未指定的关键字的链接,并在编辑图像详细信息时删除关键字标记时插入新链接。 在拉取请求29207 ​中由jmonteros422提交的修复。 GitHub-1391
  • 当商家为以前保存的、未授权的Adobe Stock图像单击​ 许可证 ​时,应用程序显示的Login failed消息不再包含HTML标记。 由您的用户在拉取请求中提交的修复29398GitHub-1684
  • 单击“图像详细信息”页面的​ 用于 ​部分中的链接现在会显示一个网格,该网格可显示按图像过滤的所有实体。 此外,还可正确设置和显示资源筛选器。 以前,应用程序未在​ 应用的过滤器 ​部分中显示资产标题。 Nazar Klovanych在拉取请求中提交的修复29367GitHub-1694
  • 当映像未被使用时,应用程序不再显示映像“详细信息”页面的​ 用于 ​部分。 Nazar Klovanych在拉取请求中提交的修复29367GitHub-1699
  • 现在可以使用图像详细信息​ 用于 ​部分上的资源筛选器按预期检查Assets。 Nazar Klovanych在拉取请求中提交的修复29367GitHub-1704
  • 有关不同实体(例如,pagecategory)使用的图像的信息现在已在图像详细信息页面中列出并已更正。 Nazar Klovanych在拉取请求中提交的修复29367GitHub-1747
  • 禁用媒体库后,当商家尝试保存产品及其相关图像时,应用程序不再引发异常。 Nazar Klovanych在拉取请求中提交的修复29492GitHub-1750
  • 单击媒体库中图像的“用于”部分中的链接,现在会按预期打开按图像过滤的实体网格。 以前,图像标题不会显示在网格的已应用过滤器部分中。 Nazar Klovanych在拉取请求中提交的修复29429GitHub-1694
  • 现在,商家删除标记并保存图像详细信息后,应用程序将删除Adobe Stock图像的标记。 以前,在刷新页面之前不会删除标记。 Honeymay Louiese Ignacio在拉取请求中提交的修复29400GitHub-1703

Amazon Pay

  • Amazon Pay现在会先检查用户是否已登录,然后再呈现付款选项。

  • 多重身份验证问题和放弃的购物车已得到解决。

  • Amazon Pay现在会在电子邮件和其他显示的位置中正确填充store name。 如果Amazon Pay配置中的​ 商店名称 ​字段为空,则扩展将检索该商店的默认名称(即您在Admin中提供的商店名称)。

  • 已解决拒绝方案的本地化/翻译问题。 显示的文本不再总是英文。

捆绑产品

  • 当您尝试在安装了清单但Magento_InventoryBundleProduct模块已禁用的部署中创建产品时,应用程序不再引发异常。
  • 现在,该应用程序可以正确计算包含捆绑产品的订单的离线退款。
  • 现在,当为简单产品分配了层价格时,迷你购物车会显示捆绑产品的正确价格。 GitHub-22807
  • 商家现在可以为捆绑产品创建贷项通知单,无需退货即可提供退款。 以前,应用程序会引发错误。 Dzung Nguyen在拉取请求中提交的修复27455GitHub-23440
  • 当购物者将捆绑产品添加到购物车而未选择所需选项时,应用程序不再显示冗余的验证消息。 Dzung Nguyen在拉取请求中提交的修复27455GitHub-23440

由Michal Derlatka在拉取请求中提交的修复29256GitHub-26110

缓存

  • 本地缓存存储现在保留在​ 存储 > 配置 > 常规 > Web > 默认Cookie设置 ​中设置的时间段。 以前,Cookie的过期日期硬编码为一天,这会使其与此设置不同步。 因此,欢迎消息不会在预期持续时间内保留返回的客户信息。
  • 在管理员中编辑产品后,不再为不相关的产品清除全页缓存。 GitHub-25670

购物车和结账

  • “比较”和“最近比较”产品列表中的产品现在按预期工作。 以前,当比较列表展开时,应用程序不显示产品,即使部分指出该列表包含产品。
  • 在客户的​ 管理购物车 ​页面的​ 按SKU添加到购物车 ​部分中,删除 ​按钮现在可在选择多行时按预期工作。
  • 当您尝试按SKU订购产品时,如果输入的数字与有效的SKU匹配,但这两个数字的大小写不同,则应用程序不会再引发错误。 以前,当您在​ 我的帐户 > Order by SKU ​上输入的SKU与有效的SKU不完全匹配时,应用程序会引发错误。
  • 现在,如果客户发货地址位于允许国家/地区列表上标识的国家/地区,并且该列表仅包含该国家/地区,则在结账时默认会选择客户的发货地址。 以前,应用程序未选择地址作为默认地址,并显示以下错误消息: Please specify a regionId in shipping address
  • 商户现在可以在​ 营销 > 购物车价格规则 > 添加新规则 ​的“操作”选项卡中启用​ 申请配送金额(当对整个购物车应用​ 固定金额折扣 ​时)。 GitHub-24422
  • 当购物者在开始结帐并导航到storefront主页后尝试取消设置持久性Cookie时,应用程序不再引发异常。 以前,当购物者单击​ 不是您时?主页上的 ​链接,应用程序引发此异常: The shipping address is missing. Set the address and try againGitHub-24218
  • 现在,当客户将缺货产品添加到购物车时,应用程序会显示添加到购物车成功消息。 以前,会添加产品,但应用程序不会显示成功消息。
  • 自定义地址属性现在按预期包含在结账工作流中为付款步骤显示的表单中。
  • 州/省/地区 ​输入框现在已在​ 我的帐户 > 通讯簿 > 添加新地址 ​上按预期启用。
  • 购物车页面上的新​ 显示“清除购物车”按钮 ​配置设置控制了在购物车查看页面上显示​ 清除购物车 ​按钮。 默认情况下,此设置处于禁用状态。 Pavlo Sydorenko在拉取请求中提交的修复27917GitHub-28705
  • 当购物车包含可下载的产品时,如果禁用了​ 可共享 ​和​ 如果购物车包含可下载的项目,则禁用访客签出 ​设置,则访客签出现在按预期禁用。 Rani Priya在拉取请求中提交的修复23972GitHub-23971
  • 当购物者从客户帐户侧边栏将产品添加到购物车时,应用程序显示的成功消息现在包含指向购物者的购物车的链接。 Ajith在拉取请求中提交的修复27977GitHub-29097
  • 现在,当您从购物车中删除多个项目时,应用程序显示的弹出消息可准确地描述您选择删除的实体的数量和类型。 Nazar Klovanych在拉取请求中提交的修复29490GitHub-1749
  • 现在,当访客用户完成结账时,应用程序会显示客户注册表单。
  • 自定义客户地址属性字段现在按预期显示在店面结账工作流中。
  • 现在,应用程序在结帐期间会检索当前客户组以获取有效报价。 以前,应用程序使用在首次将产品添加到购物车时处于活动状态的客户组,如果该客户组在结账前已被删除,则应用程序会引发错误。 Konstantin在拉取请求中提交的修复28902GitHub-29327

目录

  • 应用程序现在会在结帐前从购物车的购物车中删除禁用的产品。 以前,当购物者向购物车添加在结账前禁用的产品时,应用程序会从购物车中删除禁用的产品,但该产品仍保留在报价中,购物者无法结账。 GitHub-26680
  • 该应用程序现在会按预期排序畅销产品。 以前,产品计数和排序结果的分页都不正确。 GitHub-25955
  • 购物者现在可以通过单击比较产品侧边栏中的产品名称来打开产品的详细信息页面。 Eduard Chitoraga在拉取请求中提交的修复27451GitHub-21101
  • 当管理员删除类别时,children_count值现在保持为正。 以前,当管理员删除类别时,剩余类别的children_count为负数。 Vitaliy Prokopov在拉取请求中提交的修复28044GitHub-27969
  • 应用程序现在使用您在创建新产品时为page_layout属性选择的默认选项(配置 > Web > 默认布局 > 默认产品布局)。 以前,不会应用您选择的默认值。
  • 您现在可以成功地对库存产品库存执行成批活动。 以前,当您尝试对库存产品库存执行成批活动时,应用产品将显示一个空白页。 如果您在开发人员模式下对应用程序执行了此操作,则应用程序引发此错误: Notice: Undefined offset: 32000 in /Users/kodithuw/sites/m23inventory/inventory/InventoryCatalogAdminUi/view/adminhtml/templates/catalog/product/edit/action/inventory.phtml on line 24
  • 将产品添加到目录类别时,单击“产品”选项卡上的​ 添加产品 ​时显示的总记录数不再因产品排序顺序而更改。
  • {products(filter: {sku: {eq: "some sku"}}) {…}查询现在返回已转换为预期货币的值。 以前,price_tiers.final_price.value以基础货币显示特殊价格。 Petkovski Marjan在拉取请求中提交的修复28890GitHub-26121

Cleanup

  • 已从app/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/Website.phpapp/code/Magento/AdvancedPricingImportExport/Model/Import/AdvancedPricing/Validator/TierPriceType.php中删除冗余init方法。 Oleh Usik在拉取请求中提交的修复28650GitHub-29009
  • 更新了Adobe Commerce徽标并从magento/magento2存储库的主自述文件中删除了无关空格。 Rafael Cora r̻Gomes在拉取请求28891中提交的 ​修复。 GitHub-29056
  • 通过优化逻辑并删除冗余变量分配和函数中返回的超量使用,lib/internal/Magento/Framework/App/Request/Http.php文件已得到简化。 Chris Snedaker在拉取请求中提交的修复28608GitHub-29381
  • 修复了\Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable的类描述中的拼写错误。 Benjamin Rosenberger在拉取请求中提交的修复29451GitHub-29470

CMS内容

  • 现在,选定默认商店视图的“层次结构”选项卡可按预期显示选定的父页面。
  • 当新的存储视图包含的CMS页面的URL键与另一个存储视图中的页面的URL键相同时,应用程序在存储视图创建期间不再引发错误。 Vadim Malesh在拉取请求中提交的修复28421GitHub-28357

可配置的产品

  • 已更正可配置产品编辑当前变体列表的分页问题。
  • 当购物者为可配置产品选择选项时,应用程序不再更新“相关产品”价格框。 以前,每当购物者选择可配置产品的选项时,应用程序都会更新价格框。
  • 现在,应用程序在“管理员创建订单”页面上显示了带有可自定义选项的可配置产品的正确价格。 如预期的那样,显示的价格是子产品的价格和自定义选项的价格之和。 以前,应用程序仅显示自定义选项价格。 GitHub-25766
  • 应用购物车价格规则后,订单摘要现在显示正确的折扣金额。 以前,规则在计算运费折扣时无法正确舍入金额。
  • 从范围受限的管理员帐户创建的管理员用户帐户现在可以按预期创建具有属性的可配置产品。 以前,应用程序引发此错误: Notice: Undefined index: value_index in 23develop/app/code/Magento/ConfigurableProduct/Helper/Product/Options/Factory.php on line 101
  • 当您使用POST/V1/products到值为0的可配置产品时,应用程序不再引发验证错误。 int以前,应用程序引发此错误: Product with id "%1" does not contain required attribute "%2"." Vadim Malesh在拉取请求29001 ​中提交的修复。 GitHub-13210

Cookies

  • 应用程序现在为每个会话最多创建一个mage-translation-file-versionmage-translation-storageCookie。 由Ihor Sviziev在拉取请求中提交的修复27364GitHub-27355

cron

  • 扩展了消息队列使用者配置,添加了新参数,这些参数有助于控制使用者并保存服务器资源,并且可能会减少使用者队列CPU消耗:

    • maxIdleTime定义来自队列的新消息的最长等待时间(秒)。
    • sleep指定在检查队列中是否有新消息可用之前休眠的时间(以秒为单位)。
    • onlySpawnWhenMessageAvailable标识是否仅当相关队列中存在可用消息时才应派生使用者。 默认情况下,此设置对所有使用者全局启用,但可以按使用者进行配置。
  • sales_clean_quotes不再一次加载所有过期的引号。 以前,应用程序由于此致命错误而失败,因为同时加载了所有过期的引号: PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to allocate 20480 bytes) in /path/to/magento2/vendor/magento/framework/Model/AbstractModel.php on line 359

CSS

  • 服务器端LESS编译器现在会在您运行bin/magento setup:static-content:deploy -f时按预期导入所有远程CSS文件。 以前,应用程序不导入远程文件,并引发错误。 GitHub-25119

客户

  • 管理员客户地址中的区域名称现在按预期进行了翻译。
  • 省/市/自治区 ​字段现在按预期在“编辑地址”页(我的帐户 > 通讯簿)上填充。
  • 当客户在整个店面多次单击启用了不可见reCAPTCHA的表单上的​ Submit ​按钮时,应用程序不再引发错误。 以前,多次单击此按钮会导致类似以下内容的内部错误: Internal error: Make sure you are using reCaptcha V3 api keys
  • 现在,从管理员那里保存已删除的客户只会生成一条错误消息。 以前,应用程序显示一个空白页,并生成一个包含此字符串的报告: "0":"No such entity with customerId = 3","1":"#1 Magento\\Customer\\Model CustomerRegistry->retrieve() called at [app\/code\/Magento\/Customer\/Model\/ResourceModel\/CustomerRepository.php:340"
  • 现在,当管理员尝试为帐户刚刚被删除的客户保存地址时,应用程序会按预期显示错误消息。 以前,应用程序显示一个空白消息框。
  • 已编辑签出工作流和通讯簿中地址字段的标签以保持一致性。
  • 现在,如果前端标签的值不为空,则将其回退到存储标签。 以前,客户属性使用默认前端标签。 Toan Nguyen在拉取请求中提交的修复27064GitHub-27063

目录

  • 现在,省/市/自治区下拉菜单的格式在管理员中是一致的。

dotdigital

  • 当订单包含目录中不再存在的产品SKU时,订单同步不再失败。

  • Web分析数据中不再包含空的产品类别。

  • Web行为跟踪现在适用于具有某些主题配置的商家。 新的回退选择器可解决此问题。

  • 使用cron运行客户同步时,订阅者状态数据字段不再包含空值。 (应用程序模拟可解决此问题。)

  • 现在,如果在默认级别启用dotdigital帐户,但在主网站中禁用,则通讯簿映射将按预期工作。

  • 现在,可以为包含加号(“+”)的电子邮件地址生成优惠券(使用外部动态内容URL生成优惠券)。

  • 当联系人的last_subscribed_at值为null时,不再重新订阅联系人。

  • 已解决影响早期版本的升级错误(自4.5.2开始)。

  • 修复了4.5.3中引入的回归问题,该问题在准备订阅者导出时影响使用获得订阅者状态的方法。

  • 现在可以正确计算已同步订阅者的总人数(显示在日志和屏幕上)。

可下载

  • “我的可下载产品”区域现在会按预期显示已购买的可下载产品的链接,这些产品属于分组产品。
  • 现在,单击“管理员”产品页面中可下载产品的​ 示例 ​按钮时,可按预期下载示例。 以前,当您单击​ 示例 ​时,应用程序显示以下错误: The product that was requested doesn't exist. Verify the product and try again
  • 购物者现在可以下载无库存的可下载产品样品。 以前,当购物者尝试下载示例时,应用程序会打开一个新选项卡,但不会显示信息性消息或开始下载过程。 Vadim Malesh在拉取请求中提交的修复28898GitHub-23638
  • 改进了当购物者尝试为可下载产品设置送货地址时应用程序显示的例外消息。 由Michal Derlatka在拉取请求中提交的修复28904GitHub-26107
  • 当使用RESTPUT调用更新stock_item值时,将更新产品的stock_item数据,并按预期保留可下载的产品链接和示例。 以前,在产品更新之后,该产品不再包含用于下载内容的链接。 Vadim Malesh在拉取请求中提交的修复28799GitHub-21811
  • 现在,当客户为仅包含可下载产品的订单设置送货地址时,应用程序会显示一条信息更丰富的消息。

电子邮件

  • 如果在创建订单后更改了客户电子邮件,则应用程序现在会向正确的客户电子邮件发送有关订单更改的电子邮件通知。
  • 向客户发送的订单更新电子邮件现在包含正确的订单状态。 以前,如果订单状态从processing更改为其他状态,则订单电子邮件不会反映状态更改。
  • 应用程序在访客结帐期间不再显示有关现有帐户的误导性消息。 以前,当访客导航到签出页面,然后导航回送货页面时,应用程序显示以下错误: You already have an account with us. Sign in or continue as guest
  • 现在,自定义电子邮件模板会加载与本机默认电子邮件模板相同的元素。 以前,缺少某些元素,包括变量值。
  • 产品警报电子邮件现在从订阅警报的存储中发送。 以前,此电子邮件始终从默认商店发送。 Maciej Pawlowski在拉取请求中提交的修复26534GitHub-28968
  • 您现在可以创建电子邮件模板,用于发送电子邮件 Content-Type: "text/plain"。 以前,应用程序忽略模板中指定的内容类型。 由twoonesixdigital在拉取请求中提交的修复26474GitHub-26471

框架

  • 现在已正确呈现管理员​ 商店 > 配置 > GENERAL > 高级报告 ​页面的​ 发送数据的时间 ​字段。
  • 当订单列表跨越多个页面时,购物者现在可以更改每页显示的订单数。 以前,当购物者导航到订单的最后一页并尝试更改每页显示的订单数时,应用程序会显示以下消息: You have placed no orders。 这是2.4.0中的已知问题。
  • 现在,您可以在实施2级缓存时将产品添加到类别。
  • X-Magento-Tags标头不再超过HTTP规范允许的大小。 以前,包含许多产品的类别页面返回X-Magento-Tag标头,导致503错误。
  • 使用REST API创建装运时,sales_order_shipment_track_save_commit_after现在按预期触发。
  • di compile由于不存在依赖关系而失败时,应用程序现在会显示信息性错误消息。 以前,显示的消息不识别发生异常的类。
  • 当Redis使用所有允许内存时,应用程序不再引发以下严重错误: report.CRITICAL: OOM command not allowed when used memory > 'maxmemory'.
  • 禁用Persistent模块后,购物者现在可以将多个产品添加到购物车。 GitHub-14486

常规修复

  • 对管理员(商店 > 属性 > 产品)上的产品进行排序现在会显示符合您的搜索条件的所有产品。 以前,应用程序不显示记录,要排序记录,您必须导航到搜索结果的第一页。
  • tracking.phtml中URL周围不必要的引号和转义已被删除。
  • 现在,当用户尝试访问静态目录下的非现有资源文件并启用SCD OnDemand和生产模式时,var/log/system.log会显示更准确的消息。 应用程序现在记录404错误。 以前,应用程序会记录当开发人员模式中出现错误时所记录的相同消息。
  • JavaScript缩小功能现在可以正常使用。 缩小文件解析程序不再将变量泄露到全局范围。 以前,窗口下的ctxorigNameToUrlbaseUrl变量被泄漏。 Mateusz Krzeszowiak在拉取请求中提交的修复27622GitHub-28110
  • 在调试阻止创建对象的错误时,应用程序现在会打印并记录原始异常消息。 以前,仅记录消息。 Marvin Hinz在拉取请求中提交的修复26572GitHub-26550
  • 提交数据库更改后的回调执行已得到改进。 以前,如果一个回调失败并出现异常,则所有回调都会失败。 Alok Patel在拉取请求中提交的修复27134GitHub-28167
  • 未定义依赖项的模块的Mixin不再引发此错误:TypeError: Cannot read property 'map' of nullMateusz Krzeszowiak在拉取请求中提交的修复27690GitHub-28340
  • 现在,当购物者从第二个或后续结果页面更改每页显示的结果数时,多页店面订单列表会按预期运行。 以前,当购物者更改​ 我的帐户 > 我的订单 ​列表中显示的搜索结果数时,应用程序会显示此错误: You have placed no ordersVadim Malesh在拉取请求中提交的修复28417GitHub-28488
  • RSS馈送现在可以正确加载。 以前,馈送不会首次加载,但在刷新页面时会按预期加载。 Vadim Malesh在拉取请求中提交的修复29455GitHub-25211
  • 当购物者重新登录时,已过期的永久会话现在会按预期续订。
  • 现在遵循​ 存储 > 配置 > 高级 > 管理员 ​中设置的密码生命周期。 以前,如果您单击​ 忘记密码? ​当提示您重置密码时,您可以绕过密码重置。
  • 优惠券代码现在仅适用于指定的产品。 以前,该应用程序将优惠券代码应用于购物车中的所有产品。 GitHub-28246
  • 在库存或价格更新发生时,购物车到期设置不再重新设置。 以前,当购物车设置为在24小时后过期,并且发生库存更新或价格更新时,索引器会填充updated_at table,从而重新设置过期时间。
  • 当管理员将具有活动购物车的客户分配给客户组时,应用程序不再引发致命错误。
  • 在运行Chrome浏览器时,从产品页面上的​ 开发人员工具 > 网络 ​中选择工具栏选项不再初始化toolbar.js两次。 Pawel Tylek在拉取请求中提交的修复28838GitHub-25934
  • 该应用程序现在将管理员用户的ACL角色ID添加到产品类别树缓存ID。 这将限制范围有限的管理员可按预期看到的类别树。 由quangdo-aligent在拉取请求中提交的修复27429GitHub-28306

GraphQL

  • GraphQL现在仅使用授权令牌来检索某种类型的用户及其ID。 以前,当授权令牌为空时,GraphQL使用活动客户的Cookie检索此信息。 Alexander Taranovsky在拉取请求中提交的修复27373GitHub-28040
  • 为与sendEmailToFriend突变相关的Please provide Email of sender错误添加了测试覆盖率。 Alexander Taranovsky在拉取请求中提交的修复28034GitHub-28138
  • products查询现在会按预期返回默认商店视图的产品属性选项标签。 以前,此查询返回为管理员设置的产品属性选项标签。 Dmitriy Gallyamov在拉取请求中提交的修复28647GitHub-28568
  • GraphQL产品搜索现在会考虑已配置的类别权限。 以前,产品搜索忽略了​ 启用 ​设置(商店 > 配置 > 目录 > 目录 > 类别权限)。 修复由Petkovski Marjan在拉取请求28757中提交,在私有存储库partners-magento2ee ​中提交拉取请求271。 GitHub-28563

图像

导入/导出

  • error_report.csv文件现在下载时包含内容,可按预期在var/import_history/目录中找到。 以前,导入后不会生成此文件。
  • 使用CSV文件导入产品时,现在会按预期生成error_report.csv文件。 以前,应用程序生成文件,但在导入完成后将其删除。 Vadim Malesh在拉取请求中提交的修复28460GitHub-28420
  • 现在,对于未定义地区的国家/地区,该应用程序可成功导入包含地区的客户地址。 以前,应用程序引发此错误: Please enter a valid region
  • 现在,当商家在计划新导出时选择实体类型时,应用程序会加载正确的实体属性集。
  • 当管理员在管理员中创建产品并将其分配给类别时,catalog_category_product表中产品的位置现在会按预期更新。 以前,新产品的位置始终被指定为0值。
  • 现在,已成功从管理员中导出客户数据,导出数据网格会按预期显示客户数据。 以前,在导出期间发生与内存分配相关的错误。
  • 导入的CSV文件现在会按预期捕获相关的产品信息。 以前,在首次导入CSV文件时,相关的产品信息上传不一致。
  • 删除了AdvancedPricing.php中未使用的构造参数。 GitHub-29531

索引

  • 在执行PURGE时,Magento_CacheInvalidate现在可以正确处理大型标记模式。 sendPurgeRequest已重构为处理标记数组,而不是要求调用方使用implode()。 由Matthew O'Loughlin在拉取请求中提交的​_修复26256_。 GitHub-26255
  • 重新索引后运行bin/magento indexer:status后,共享索引器现在显示​ 有效 ​状态。 以前,共享索引器在完全重新索引后处于​ 无效 ​状态。

基础架构

  • 在运行PHP 7.4.9的部署中加载目录和产品页时不再出现问题。 以前,当您尝试加载目录和产品页面时,应用程序会引发此错误: There has been an error processing your request. Exception printing is disabled by default for security reasonsGitHub-29502
  • 在生产模式下呈现布局时发生的所有异常现在都记录在异常日志文件(var/report)中。 以前,应用程序会在系统日志中将这些消息记录为严重问题。
  • 由于将ipcre.backtrack_limit和pcre.recursion_limit增加到大约1000000,因此正则表达式现在可以正确用于大型页面。 Mateusz Krzeszowiak在拉取请求中提交的修复27270GitHub-26026
  • 现在,整个类(app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php)中的数组创建过程是一致的。 Nathan de Graaf在拉取请求中提交的修复28515GitHub-28795
  • 您现在可以使用新的UrlFilterApplier组件通过GETURL参数在产品、cms_pagecms_block网格上应用筛选器。 由Gabriel da Gama在拉取请求中提交的修复28932GitHub-1501
  • 生成侦听器时,应用程序不再引发Undefined class constant错误。 Vova Yatsyuk在拉取请求28797中提交的 ​修复。 GitHub-28981
  • 现在,当您使用已使用的名称保存集成时,如果应用程序引发集成异常,则表单数据会持续存在。 由Aditya Yadav在拉取请求中提交的​_修复26660_。 GitHub-28143
  • 现在,使用自定义管理域时,用于检查重定向是否为内部的逻辑可在管理中正常工作。 以前,此逻辑的问题会导致许多管理员重定向到默认存储的主页。 Vadim Malesh在拉取请求中提交的修复29066GitHub-28943
  • Magento\CmsUrlRewrite\Plugin\Cms\Model\Store\View::aftersSave插件现在会按预期返回一个值。 以前,此插件不会返回值,因此,保存存储视图会导致错误。 Pieter Hoste在拉取请求中提交的修复29035GitHub-29034
  • DataObject添加了以下对魔术方法的支持:

    • 新扩展支持get/set/has/uns魔术方法(使用__call
    • 支持SessionManager,它将所有调用转发到DataObject容器
    • 扩展的测试覆盖率
    • 更新了筛选错误检查测试
    • 将PHPStan检查级别从0增加到1。 Oleksandr Kravchuk在拉取请求中提交的​_修复27905_。 GitHub-28303
  • ScopeConfigInterface现在可以不只是一个字符串。 将magentoConfigFixture限制为仅字符串是上一拉取请求的不慎结果,该限制已被还原。 由Fooman的Kristof在拉取请求中提交的修复29305GitHub-29345
  • 由于向Phrase构造函数发送了错误的参数,convertConfigTimeToUtc方法不再引发致命错误。 Kos Rafal在拉取请求中提交的修复29483GitHub-29525
  • Magento\Backend\Block\Widget\Grid\Column\Filter\Price::getConditionMagento\Backend\Block\Widget\Grid\Column\Filter\Price::getValue()返回的数组具有包含fromto字符串数据的索引时,价格筛选器现在可以按预期对网格数据起作用。 以前,应用程序引发此错误: Notice: A non well formed numeric value encountered in vendor/magento/module-backend/Block/Widget/Grid/Column/Filter/Price.php on line 197Nikita Sarychev在拉取请求中提交的修复29214GitHub-29213
  • 添加了扩展点以支持将HTML添加到“类别”页面。 这样可更正上一个拉取请求所导致的错误。 由iGerchak在拉取请求中提交的修复29291GitHub-29286

分层导航

  • 分层导航侧边栏现在显示具有两个选项(yes/no)和匹配产品计数的布尔属性。 以前,使用Elasticsearch的部署中的布尔属性不会返回一个​ no ​选项。

记录

  • 现在,当部署仅处于开发人员模式时,会记录所有损坏的引用错误。 以前,在生产模式下也会为部署记录一个错误,这会使错误日志臃肿。 Bartlomiej Szubert在拉取请求中提交的修复28735GitHub-26504

媒体集

MFTF

  • AdminSubmitAdvancedInventoryFormActionGroupAdminClickOnAdvancedInventoryLinkActionGroup和 根据最佳实践,测试中使用了AdminSetStockStatusConfigActionGroup操作组。 Oleh USIA在拉取请求中提交的修复29386GitHub-29420
  • AdminCategoriesClickDoneButtonOnPopupActionGroup现在用于在“搜索类别”弹出窗口中单击​ 完成Oleh Usik在拉取请求中提交的修复28989GitHub-29380
  • LoginToStorefrontActionGroup现在用于替换用于存储前端客户登录的一系列操作。 由Sathish Subramanian在拉取请求中提交的修复28113GitHub-28165

新建操作组

  • AdminProductFormCategoryExistInCategoryListActionGroupAdminProductFormCategoryNotExistInCategoryListActionGroup Alexander Steshuk在拉取请求28287 ​中提交的修复。 GitHub-28392

新测试

  • 添加了对以管理员用户身份删除CMS页面的测试。 Dmitry Tsymbal在拉取请求中提交的修复28112GitHub-28202

  • 添加了StorefrontShareCustomerWishlistActionGroup测试,用于客户希望列表与无效电子邮件地址共享。 已重构希望列表共享的现有测试(StorefrontShareWishlistEntityTest)。 StorefrontCustomerShareWishlistActionGroup已弃用。

新闻稿

  • 使用EXCEL XML选项导出新闻稿订阅者列表现在会按预期导出所有行。 以前,导出的数据仅包含页面分页值,而不包含所有行。
  • 为配置语句中具有不允许选项的来宾添加了新闻稿订阅测试。 此测试将替换已弃用的VerifyRegistredLinkDisplayedForGuestSubscriptionNoTestStorefrontCreateNewSubscriberActionGroupDmitry Tsymbal在拉取请求中提交的修复28872GitHub-29039

订购

  • GetAssetIdByContentFieldInterface及其在MediaContent模块上的实现现在允许Adobe Stock集成扩展MediaGallery筛选器功能。 由Gabriel da Gama在拉取请求中提交的修复29058GitHub-1464
  • 总金额为零的贷项通知单的订单状态为Closed。 以前,应用程序将其订单状态报告为Complete由Andrii Kalinich在拉取请求中提交的修复29023GitHub-22762

支付方式

  • 应用程序现在显示一条消息,提示您输入强制性信用卡数据,在您单击管理员订单的​ 提交 ​时不会输入有效的付款信息。 以前,当付款输入字段无效并且页面变为不活动时,Braintree卡验证器不会引发错误。
  • 现在,对于其帐户具有已存储信用卡(Braintree)的客户,您可以从管理员中更改所创建订单的配送方式。 以前,当您选择其他送货方法时,不会选择存储的卡,并且应用程序不会下订单。

PayPal

  • 现在,结账工作流的“订单审核”页面通过结账期间已更改配送方式的Braintree订单,显示PayPal的正确配送金额。 以前,当客户在结账工作流的“PayPal订单审核”页面上更改配送方式时,应用程序未使用正确的方法更新订单总额。
  • 商家现在可以成功取消使用PayPal授权的订单。 以前,应用程序未取消订单并显示此错误: Declined: 10601-Authorization has expired
  • 当您通过先完成另一张订单后关闭PayPal付款弹出窗口来取消订单时,应用产品不再清空购物车。

性能

  • 三个新的配置设置支持减少使用者队列CPU消耗。 这些可选参数可增强对使用者的控制并节省服务器资源。 有关maxIdleTimesleeponlySpawnWhenMessageAvailable参数的说明,请参阅配置消息队列
  • 现在在执行di:compile命令期间生成插件列表配置。 此配置信息会根据作用域写入生成的元数据文件夹。 以前,此信息存储在缓存中。 由此产生的性能改进包括:

    • 网络缓存大小已减小
    • 许多场景的执行时间已得到改进。
  • 现在,应用程序可按需加载相应的滑块构件,从而改进了页面加载。 触控滑块构件自定义已移至单独的文件,因此只能在兼容设备上加载。 现在,仅当页面上实际使用了范围绑定时,才加载相应的滑块构件类型。 Mateusz Krzeszowiak在拉取请求中提交的修复27616GitHub-28807
  • 提高了多订单同时结账的性能。
  • 当导入进程执行批量插入且重新索引进程同时通过select执行大量插入时,不再发生死锁。 以前,应用程序显示此错误: PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lockGitHub-8933

审核

  • entity_pk_value-entity_type-store_id的唯一键已添加到review_entity_summary表中,这可防止为同一产品ID (entity_pk_value)创建重复行。 以前,由于缺少唯一键,导致同一产品ID出现重复行和SQL错误。

销售

  • 在为需要零付款的订单开票后,应用产品不再分配Complete状态。
  • 现在,由REST API生成的新发运电子邮件包含与从管理员手动创建的发运相同的发运和客户信息。 以前,此电子邮件不包含客户名称、跟踪信息、订购的产品和其他订单信息。
  • 现在,当从管理员加载或自定义电子邮件时,来宾用户名会按预期显示在与发票和装运相关的电子邮件中。
  • PDF发票现在将转换为下订单所在商店视图的语言。 以前,PDF发票是采用管理员的语言翻译的。
  • 您现在可以从贷项通知单页面按预期发放退款。 GitHub-29014
  • 店面订单页面上显示的本地化区域名称现在可以正确翻译。 以前,区域名称不基于指定的区域设置,除非在管理员中对其进行编辑。
  • 通过POST/rest/V1/shipment终结点创建的装运现在可正确更新订单。 以前,应用产品创建发运,但发运状态仍为处理状态。
  • 贷项通知单现在显示从发出订单的商店范围中推导出的付款方式。 以前,贷项通知单显示默认存储范围所定义的名称。 由Ledian Hymetllari在拉取请求中提交的修复27582GitHub-27570

Search search-heading

  • 您现在可以使用QuickSearch从管理员客户视图中按属性搜索产品。 以前,目录搜索结果页面上发生异常。
  • 现在,在添加产品属性后,应用程序会按预期在类别页面上显示可配置产品。
  • Elasticsearch结果现在包含每个商店视图属性选项的正确值。 如果DropdownMultiple Select属性在非默认存储视图中的选项值不同于默认存储视图中的选项值,则Elasticsearch现在会对该值进行索引或在结果中返回具有该值的产品。 以前,Elasticsearch不对该值进行索引,也不在结果中返回具有该值的产品。
  • 现在,通过SKU搜索可按预期方式使用Elasticsearch进行高级搜索。 以前,当您尝试按SKU进行搜索时,应用程序会显示以下错误消息: We can't find any items matching these search criteria. Modify your search

配送

  • 现在,升级后,该应用程序可正确计算装运表费率。 以前,发运表格费率是根据不含增值税的净价格计算的。
  • 现在,对于将FedEx指定为发运方法的订单,应用产品会在结帐工作流中以正确的币种显示发运费率。
  • 现在,UPS发运的订单的发运标签的多页PDF会显示正确的计数。
  • “创建包”页面的JavaScript组件问题已得到解决。 以前,应用程序不在此页面上显示​ 创建送货标签 ​复选框,并且您无法为现有订单创建送货标签。

Sitemap

  • 编码值现在在sitemap.xml文件中进行了正确转义。 以前,当您在产品名称或图像标题中包含编码字符时,生成的站点地图无效。

存储

  • 删除以前创建的存储视图不会再导致使用拆分数据库配置的部署中出现错误。 以前,应用程序引发异常。
  • 您现在可以从一个网站中导出config.php和默认网站代码,以便在多网站部署的第二个网站上安装和配置应用程序。 以前,默认存储和视图在导出后消失,店面发生错误。

Swagger

  • 您现在可以使用Swagger生成客户令牌。 以前,在输入有效的客户访问信息时,Swagger不会生成响应代码,应用程序会显示以下错误: The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again laterVadim Malesh在拉取请求中提交的修复28822GitHub-27098

色板

  • 现在,当购物者单击购物车中的​ Edit ​时,带色板的可配置产品会显示层定价。 以前,应用程序在结账前不会在购物车中显示分层价格。 由Sathish Subramanian在拉取请求中提交的修复29137GitHub-28270
  • 应用程序现在可按预期显示可配置产品变体的层价格。

税金

  • 商家从产品的属性集中取消分配产品后,应用产品不再在店面上显示产品的固定产品税属性。

测试

  • 添加了用于批准使用已过期折扣发出的采购订单的单元测试,它将全额下单,而不会更新采购订单合计。 Joan He在拉取请求18 ​中提交的修复。 GitHub-204
  • 集成测试现已涵盖SynchronizeFilesInterface在拉取请求29493 ​中由jmonteros422提交的修复。 GitHub-1742
  • \Magento\TestFramework\TestCase\WebapiAbstract添加了一个函数,该函数允许比较测试中预期结果和实际结果的大型嵌套数组,并允许测试者忽略实际结果中的无关键。 Jekabs在拉取请求中提交的修复29458GitHub-29498
  • app/code/Magento/Newsletter/Test/Unit/Model/SubscriptionManagerTest.php中修正了预期值与实际值的反转。 Lukasz Bajsarowicz在拉取请求中提交的​_修复29271_。 GitHub-29283
  • 已为updateCustomer突变的以下情况添加测试覆盖率:出生日期无效、电子邮件地址无效和客户姓氏为空。 Alexander Taranovsky在拉取请求中提交的修复28304GitHub-28394
  • ApiFunctional TestFramework GraphQL客户端现在可以正确解析标头。 GitHub-26425

主题

  • 现在,在运行bin/magento catalog:images:resize时,用户代理规则中添加的主题会按预期受到影响。 以前,运行bin/magento catalog:images:resize时,只会影响分配给商店的主题。

翻译和区域设置

  • 当管理员在管理员产品创建期间更改​ Date ​字段或当管理员区域设置为中文或日文时保存该字段时,应用程序不再引发错误。 GitHub-24696
  • 应用程序现在在呈现内联翻译标记之前检查区域(前端或adminhtml)。 以前,在启用内联翻译时通过错误的凭据对POST /V1/integration/admin/token进行API调用会导致在API响应中包含有关错误消息的内联翻译标记。 Zach Nanninga在拉取请求中提交的修复28856GitHub-28656
  • 现在可以翻译管理员​ 客户 > 添加新地址 ​和​ 编辑产品 > 高级库存 ​模型上的标题和按钮。 由Sathish Subramanian在拉取请求中提交的修复28174GitHub-28201
  • 签出工作流送货地址模式上的​ 发货位置 ​按钮标签已更改,以匹配用于其他按钮的驼峰式大小写。 现在,此案例与翻译文件中使用的案例匹配。 以前,由于大小写不匹配,因此不翻译此标签。 WK在拉取请求中提交的修复28547GitHub-28685

UI

  • 现在,当显示“隐私和Cookie策略”页面时,页脚中的隐私和Cookie策略链接将显示为活动链接。 由Sathish Subramanian在拉取请求中提交的修复28004GitHub-27985
  • 修复了与从管理员​ 销售 > 订单 ​中选择的订单关联的发票的“发票备注”文本区域中的光标未对齐问题。
  • “创建新订单”页面现在会按预期显示​ 按SKU添加产品 ​和​ 添加产品 ​按钮。
  • 当所选产品的产品评级可用时,应用程序现在会正确显示“编辑审阅”页面。
  • 现在,该应用程序可在运行Safari的iPhone上正确显示“管理员客户编辑”页面。
  • 更正了“创建新订单”页上不必要的滚动。
  • 直接单击“添加新税则”页面的​ 导出税率 ​按钮(商店 > 税则),现在可按预期下载tax_rates.csv文件。 以前,商家必须单击​ 出口税率 ​按钮的边缘。 这是2.4.0中的一个已知问题。
  • 购物车底部的​ 将选定内容添加到购物车 ​按钮现在可按预期工作。 这是2.4.0中的一个已知问题。
  • 客户活动页面中​ 最近查看的产品 ​部分的​ 刷新 ​按钮现在可按预期工作。 以前,当您单击​ 刷新 ​时,产品列表不会刷新,页面会滚动。
  • 应用程序现在可在​ 客户 > 区段 > 添加区段 ​的条件选项卡上正确显示用于选择客户出生日期的日历图标。
  • 当购物者在Internet Explorer 11.x上滚动浏览此页面时,签出工作流的签出摘要部分不再闪烁。
  • 现在,应用程序可在店面类别页面上正确显示“按SKU排序”构件。 以前,此构件的HTML代码未呈现,并且应用程序未显示​ 加载SKU列表 ​链接。
  • 已使用this.disabled(true)禁用的UI组件不再出现在店面上。 GitHub-29098
  • 登录表单样式现在与空白主题中其他表单上的样式一致。 删除了设置容器控件换行输入字段宽度的不必要样式。 Tu Nguyen在拉取请求中提交的修复28084GitHub-28059
  • 为准确起见,已重写订单失败页面的标题。 以前,当购物者取消订单时,应用程序会显示具有此标题的页面: We received your order!Angelo Romano在拉取请求中提交的修复29410GitHub-29416
  • 现在,已取消订单查看页面上的已取消项目总数在已取消订单查看页面上可正确识别。 以前,此字段标记为​ 总到期时间Madhu Rajawat在拉取请求中提交的修复27516GitHub-26191
  • 现在,当您尝试保存新模块的配置设置时,系统配置页面的“管理员”部分将展开以按预期显示必填字段。 Bartlomiej Szubert在拉取请求中提交的修复28285GitHub-26427
  • 更正了购物者在页脚的subscribe字段中输入无效电子邮件地址时导致输入字段宽度过长且令人难以置信的问题。 Dipesh Rangani在拉取请求中提交的修复27106GitHub-27099
  • 添加新标记并将鼠标光标移动到其上时,Uncaught ReferenceError错误不再出现在开发控制台中。 Nazar Klovanych在拉取请求中提交的修复29392GitHub-1700

URL重写

  • 将商店视图移动到其他网站时,不再重置URL。 以前,应用程序错误地重新生成了CMS和产品URL重写。
  • 将存储视图分配给其他存储时,应用程序现在会按预期保留现有目录URL重写。 以前,应用程序删除了特定于存储的URL重写。

清漆

保险库

  • 如果未选中结帐工作流付款部分上的​ 保存以供以后使用 ​复选框,则应用程序不再保存信用卡号码。

Web API框架

  • 现在,具有多个网站的商家可以使用REST API创建和更新产品,同时保留图像和图像角色继承。 以前,当商家使用REST API创建和更新产品,并为商店视图更新产品时,将为该商店视图加载并保存默认图像角色。 因此,存储视图图像角色在更新后停止从默认范围继承。
  • 当资源权限允许访问时,无作用域的集成用户帐户现在可以通过REST API访问资源。
  • 现在,搜索标准筛选器可按预期适用于在创建可配置产品期间使用的产品属性。 GitHub-29126
  • 现在已针对POST/rest/V1/customers请求验证客户组ID。 以前,当您在这些请求中使用无效的group_id时,应用程序不显示错误消息。 Vadim Malesh在拉取请求中提交的修复28903GitHub-28064
  • 默认情况下,不会为匿名REST调用创建PHP会话。 以前,即使没有必要,也会启动会话。 Maciej Pawlowski在拉取请求中提交的修复26032GitHub-7213
  • 使用各种REST端点更新包含自定义选项的订单不再删除自定义选项信息。 以前,删除info_buyRequest中的值。 Vadim Malesh在拉取请求中提交的修复28483GitHub-22431
  • 在检索用户信息时,使用GETV1/customers/me现在遵循​ 共享客户帐户 ​设置(管理员​ 存储 > 配置 > 客户 > 客户配置 > 帐户共享选项)。 Pavel Bystritsky在拉取请求中提交的修复28213GitHub-26089
  • 与地址相关的扩展属性可以设置为数据阵列。 以前,当包含的POST请求时,应用程序会引发错误 extension_attributes已发送至estimate-shipping-methods。 此错误由以前的提交引入,它影响了Magento\Quote\Api\Data\AddressInterface上任何不是对象的扩展属性集。 Alexander Menk在拉取请求中提交的修复27338GitHub-26682
  • 在使用PUT为V1/customers/:id的端点更新客户时,您现在可以指定单个字段。 以前,端点要求您指定客户电子邮件和创建客户所需的其他字段。 Vadim Malesh在拉取请求中提交的修复28332GitHub-21237

愿望清单

  • 客户现在可以从愿望清单本身更改愿望清单中产品的数量。 以前,应用程序不更新产品数量,也不显示消息。
  • 客户现在可以从愿望清单本身更改愿望清单中分组产品的数量。 以前,应用程序不更新产品数量或显示消息。
  • 管理员现在可以配置已由客户从非默认存储添加到愿望清单的可配置产品。 以前,当客户还从非默认存储区添加了可配置产品时,应用程序会引发错误。
  • 添加了一项测试,说明在共享客户希望列表时使用无效的电子邮件地址。 StorefrontShareWishlistEntityTest已重构。 StorefrontCustomerShareWishlistActionGroup已弃用。 Dmitry Tsymbal在拉取请求中提交的修复28330GitHub-28377

已知问题

问题:使用第三方支付提供商时,用于签出的新CAPTCHA功能在“下订单”页面上无法正常工作。 运行2.3.6或2.4.1并在“下单店面”页面上启用了CAPTCHA保护的商家在使用第三方支付提供商(如PayPal)结帐时将会看到此错误: Please provide CAPTCHA code and try again解决方法:此问题的修复程序现已可用。 请参阅签出中的Magento Open Sourcev2.3.6/2.4.1 CAPTCHA不起作用知识库文章。 我们的下一个季度修补程序(Q12021)中也将包含修补程序。

问题:没有管理员权限的用户当前无法设置其个人2FA访问权限。 2FA包括两个ACL角色。 一个角色会影响全局系统配置,仅在配置系统时才需要该角色。 第二个ACL角色影响单个用户2FA帐户。 管理员用户必须配置第二种类型的2FA ACL。 解决方法:用户登录并查看访问被拒绝屏幕后,可以访问https://<magento store>/<admin_path>/tfa/tfa/requestconfig/以强制配置。 注意:我们不建议禁用安全设置。 但是,只有在禁用管理员URL密钥时,此解决方法才有效。

问题:如果购物者输入的数据无效,则“新建帐户”页面上的​ 创建帐户 ​按钮将保持禁用状态。 这样可防止购物者在出错后重新尝试创建帐户。 解决方法:应用修补程序MC-38509。 我们的下一个季度版本(2.4.2、2.4.1-p1和2.3.6-p1)中也将包含修复,这些版本计划于2021年第1季度发布。 请参阅2.4.1和2.3.6创建帐户按钮禁用了修补程序知识库文章。 GitHub-30513

问题:启用dotdigital后,商家无法从Safari中的管理员登录到dotdigital。 请参阅启用dotdigital帐户后,无法通过admin面板登录dotdigital知识库文章。

问题:当购物者选择与帐单地址不同的送货地址时,在付款期间顶点地址验证不起作用。 此问题将在2.4.2中修复。查看2.4.1已知问题:更新地址知识库文章后,顶点地址验证消息未消失。

问题:商家在Safari浏览器上保存dotdigital页面生成器表单时,应用程序显示空页面。 解决方法:重新加载页面以应用更改。 请参阅2.4.1已知问题:保存dotdigital Page Builder表单知识库文章后页面为空。

问题:在某些情况下,应用程序会自动将客户登录到以前使用的Amazon帐户,而不是提示他们在使用Amazon Pay结帐时登录。 请参阅2.4.1已知问题:无法在Google Chrome知识库文章中更改Amazon帐户。

问题:在选择PayPalBraintree付款和多地址装运时,应用程序会在结帐工作流的帐单页面上短暂显示错误消息。 查看2.4.1已知问题:使用PayPalBraintree签出知识库文章时弹出错误。

问题:在禁用来宾结帐时,如果来宾客户尝试通过Braintree使用PayPal下订单,则应用程序会显示一条非信息性错误消息。 请参阅2.4.1已知问题:使用Paypal通过Braintree知识库文章进行来宾结帐时出现非信息性错误消息。

社区贡献

我们感谢更广泛的Magento Open Source界,并感谢他们为这一版本做出的贡献。 您可以通过以下方式了解社区对我们当前版本的贡献:

  • 如果社区成员提供了此版本的修复,我们将在这些注释的“修复问题”部分中使用短语“社区成员提供的修复”来标识此修复。

  • 社区工程团队Magento参与者按月、季度、年维护了主要参与人员和合作伙伴的列表。 从该参与者页面,您可以单击链接以转到GitHub上其合并的PR。

合作伙伴投稿

下表列出了合作伙伴所做的贡献。 此表列出了提出拉取请求的合作伙伴、外部拉取请求以及与其关联的GitHub问题编号(如果可用)。

合作伙伴
拉取请求
相关的GitHub问题
阿特维克斯
magento/magento2#27670magento/magento2#28112, magento/partners-magento2ee#258,magento/magento2#28466magento/magento2#28450magento/magento2#28449magento/magento2#28408magento/magento2#28391 28361🔗magento/magento2#28330magento/magento2#28304magento/magento2#27481magento/magento2#27373magento/magento2#28467magento/magento2#28407magento/magento2#28418 ento/magento2#28034magento/magento2#28222magento/magento2#27956magento/magento2#28105magento/magento2#27586magento/magento2#28631magento/magento2#28629magento/magento2#28498magento/magento2#28496magento/magento2#28469magento/magento2#27451magento/magento2#28725magento/magento2#27549magento/magento2#28641magento/magento2#28635 to2#28632🔗magento/magento2#28457, magento/partners-magento2ee#247,magento/magento2#28205magento/magento2#28072magento/magento2#28727magento/magento2#28684magento/magento2#28679 ento/magento2#28401🔗magento/magento2#28506magento/magento2#28492magento/magento2#28487magento/magento2#27349magento/magento2#28991magento/magento2#28972magento/magento2#28869magento/magento2#28696magento/magento2#28956magento/magento2#28942magento/magento2#28941magento/magento2#28872magento/magento2#28854magento/magento2#28661,{11 04}magento/magento2#28852🔗magento/magento2#28812magento/magento2#28650magento/magento2#27882, magento/partners-magento2ee#250,magento/magento2#29002🔗magento/magento2#28959 15},magento/magento2#28955magento/magento2#28925magento/magento2#29053magento/magento2#27697magento/magento2#29143magento/magento2#29156,{122 8}magento/magento2#29004,magento/magento2#29162magento/magento2#28999magento/magento2#29134magento/magento2#29133magento/magento2#29007magento/magento #29000magento/magento2#28210magento/magento2#29135magento/magento2#27537magento/magento2#29142magento/magento2#29386magento/magento2#29385 magento/magento2#28993magento/magento2#28989, magento/partners-magento2ee#263, magento/partners-magento2ee#246,magento/magento2#27914magento/magento2#29427,magento/magento2#29485{163,magento/magento2#29472 🔗 🔗 🔗 🔗 🔗
magento/magento2#28202magento/magento2#28393magento/magento2#28377magento/magento2#28394magento/magento2#19481magento/magento2#28040magento/magento2#28138magento/magento2#28261 to2#253,magento/magento2#27337magento/magento2#21101magento/magento2#28755magento/magento2#28720magento/magento2#28744magento/magento2#28721, magento/partners-magento2ee#261,{3 0}magento/magento2#246,magento/magento2#28519magento/magento2#28481magento/magento2#28262magento/magento2#28427magento/magento2#29032magento/magento2#29012 to2#29039,magento/magento2#28969magento/magento2#29009magento/magento2#250magento/magento2#29287magento/magento2#29289magento/magento2#29281🔗magento/magento2#29295{59 ,magento/magento2#28800magento/magento2#29292magento/magento2#29420magento/magento2#29434magento/magento2#29388magento/magento2#29380magento/magento2#28524 2#29539🔗
蓝橡果iCi
magento/magento2#27903magento/magento2#27902magento/magento2#28606magento/magento2#28601magento/magento2#28605magento/magento2#28351magento/magento2#27965magento/magento2#28856 to2#29271🔗magento/magento2#28992magento/magento2#29341magento/magento2#29272magento/magento2#28599magento/magento2#29376magento/magento2#29202 🔗
magento/magento2#28383magento/magento2#28850magento/magento2#28376magento/magento2#27962magento/magento2#28656magento/magento2#29283magento/magento2#29159magento/magento2#29389 to2#29346,magento/magento2#29453magento/magento2#29477
creativestyle
magento/magento2#27622magento/magento2#27270magento/magento2#27871magento/magento2#27690magento/magento2#27619magento/magento2#27618magento/magento2#27357magento/magento2#27356 to2#27616🔗magento/magento2#27860magento/magento2#27617magento/magento2#29054magento/magento2#28838 🔗
magento/magento2#28110magento/magento2#26026magento/magento2#28339magento/magento2#28340magento/magento2#28381magento/magento2#28382magento/magento2#28166magento/magento2#28433 to2#28807,magento/magento2#28823magento/magento2#28811magento/magento2#29087magento/magento2#25934
comwrap
magento/magento2#28714magento/magento2#28743magento/magento2#28710magento/magento2#28757, magento/partners-magento2ee#288, magento/partners-magento2ee#271, magento/partners-magento2ee#277,magento/partners-magento2ee#28890,{magento2ee#285 0}magento/magento2#27850🔗magento/magento2#27917
magento/magento2#28584, magento/partners-magento2ee#28563, magento/partners-magento2ee#28566, magento/partners-magento2ee#28769,magento/magento2#26121, magento/partners-magento2ee#28834,magento/magento2#28705
Ziffity
magento/magento2#26704magento/magento2#28113magento/magento2#28174magento/magento2#28039magento/magento2#28004magento/magento2#27567magento/magento2#28264magento/magento2#29137 to2#29206🔗magento/magento2#28250magento/magento2#27977 🔗
magento/magento2#28165magento/magento2#28201magento/magento2#27985magento/magento2#27091magento/magento2#28308magento/magento2#28270magento/magento2#28947magento/magento2#29344 to2#29097
Aligent咨询
magento/magento2#27429magento/magento2#26256
magento/magento2#28306magento/magento2#8815magento/magento2#26255
快白猫
magento/magento2#28015magento/magento2#28735magento/magento2#28285
magento/magento2#28011magento/magento2#26504magento/magento2#26427
瓦伊莫
magento/magento2#29300magento/magento2#27905magento/magento2#27582
magento/magento2#29299magento/magento2#28303magento/magento2#27570
指导解决方案
magento/magento2#28810magento/magento2#28902
magento/magento2#28982magento/magento2#29327
Cedcommerce
magento/magento2#27990magento/magento2#26660
magento/magento2#26118magento/magento2#28143
平衡Internet
magento/magento2#27064
magento/magento2#27063
Krish TechnoLabs
magento/magento2#27359magento/magento2#27106
magento/magento2#27358magento/magento2#27099
Ranosys技术
magento/magento2#27516
magento/magento2#26191
布里特斯基
magento/magento2#29301
magento/magento2#104
勒赛特
magento/magento2#28891
magento/magento2#29056
MediaCT
magento/magento2#28547
magento/magento2#28685

个人贡献者

下表列出了来自社区成员的贡献。 此表列出了外部拉取请求、与其关联的GitHub问题编号(如果可用)以及参与拉取请求的社区成员。

参与社区成员
拉取请求
相关的GitHub问题
纳扎尔·克洛瓦尼
#28048
Volodymyr扎耶特
#27948
Volodymyr扎耶特
#27662
阿吉特
#26704
涂颜
#27572
27058
阮进添
#27455
23440
罗汉·哈帕尼
#27359
27358
马特乌什·克尔泽索维亚克
#27622
28110
马特乌什·克尔泽索维亚克
#27270
26026
塞尔希伊·杰帕
#28168
奥列格·阿列克辛
#28150
28149
萨塔希什·萨勃拉曼尼亚
#28113
28165
尼古拉·拉尔德夫
#27957
28215
马文·欣茨
#26572
26550
萨塔希什·萨勃拉曼尼亚
#28174
28201
瓦迪姆·马莱什
#28108
5477
德米特里·琴巴尔
#28112
28202
涂颜
#27828
27543
涂颜
#27642
27633
阿洛克·帕特尔
#27134
28167
涂颜
#28084
28059
涂颜
#28083
27095
阿吉特
#28039
涂颜
#28032
2270226022
奥利·乌西克
#27670
伊万·切普尔尼
#22829
奥利·乌西克
#28466
奥利·乌西克
#28450
奥利·乌西克
#28449
凯特·凯兹玛
#28418
凯特·凯兹玛
#28408
凯特·凯兹玛
#28391
凯特·凯兹玛
#28361
28393
德米特里·琴巴尔
#28330
28377
亚历山大·塔拉诺夫斯基
#28304
28394
尼古拉伊·马莱瓦内茨
#28287
28392
奥利·乌西克
#28105
253
亚历山大·塔拉诺夫斯基
#28034
28138
奥利·乌西克
#27956
253
卢卡斯·巴伊萨罗维茨
#27903
卢卡斯·巴伊萨罗维茨
#27902
28383
马特乌什·克尔泽索维亚克
#27871
28339
叶夫根尼·列文斯基
#27839
28305
马特乌什·克尔泽索维亚克
#27690
28340
马特乌什·克尔泽索维亚克
#27619
28381
马特乌什·克尔泽索维亚克
#27618
28382
亚历山大·塔拉诺夫斯基
#27586
27337
安德里伊·贝齐阿齐赫尼
#27481
19481
亚历山大·塔拉诺夫斯基
#27373
28040
帕维尔·蒂莱克
#27356
28433
帕维尔·蒂莱克
#27357
28166
伊霍尔·斯维齐耶夫
#27260
28342
奥利·乌西克
#28467
凯特·凯兹玛
#28407
#28547
28685
爱德华·奇托拉加
#28222
28261
巴尔特洛米耶·苏伯特
#28015
28011
凯特·凯兹玛
#28631
凯特·凯兹玛
#28629
奥利·乌西克
#28498
奥利·乌西克
#28496
凯特·凯兹玛
#28469
瓦迪姆·马莱什
#28417
28488
卢卡斯·巴伊萨罗维茨
#28606
卢卡斯·巴伊萨罗维茨
#28601
喜所库马凯萨万
#28264
28308
维塔利·普罗科波夫
#27854
27489
爱德华·奇托拉加
#27451
21101
Abel Truong
#27339
26449
亚历山大·门克
#27338
26682
迪佩什·兰加尼
#27106
27099
巴尔特洛米耶·苏伯特
#28735
26504
凯特·凯兹玛
#28725
瓦迪姆·马莱什
#28332
21237
奥利·乌西克
#27549
28755
亚历山大·梅尔尼克
#28666
佩特科夫斯基·马尔扬
#28714
德米特里·加利亚莫夫
#28647
2856828572
德米特里·琴巴尔
#28641
28720
德米特里·琴巴尔
#28632
28721
德米特里·琴巴尔
#28635
28744
凯特·凯兹玛
#28457
爱德华·奇托拉加
#28205
奥利·乌西克
#28072
25324628519
维塔利·普罗科波夫
#28044
27969
马特乌什·克尔泽索维亚克
#27616
28807
阮道安
#27064
27063
纳扎尔·克洛瓦尼
#28798
1474
卢卡斯·巴伊萨罗维茨
#28605
28850
帕维尔·贝斯特里茨基
#28213
26089
萨塔希什·萨勃拉曼尼亚
#28004
27985
马特乌什·克尔泽索维亚克
#27860
28823
纳扎尔·克洛瓦尼
#28739
内森·德·格拉夫
#28515
28795
瓦迪姆·马莱什
#28460
28420
瓦迪姆·马莱什
#28421
28357
卢卡斯·巴伊萨罗维茨
#28351
28376
卢卡斯·巴伊萨罗维茨
#27965
27962
萨塔希什·萨勃拉曼尼亚
#27567
27091
quangdo-aligent
#27429
28306
凯特·凯兹玛
#28727
凯特·凯兹玛
#28684
凯特·凯兹玛
#28679
凯特·凯兹玛
#28401
吉滕帕特尔
#27369
27051
瓦迪姆·马莱什
#28483
22431
马特乌什·克尔泽索维亚克
#27617
28811
瓦迪姆·马莱什
#28822
27098
亚历山大·梅尔尼克
#28855
德米特里·加利亚莫夫
#28745
28628
佩特科夫斯基·马尔扬
#28743
Michal Derlatka
#28713
28561
乌尔齐
#28710
28584
亚历山大·塔拉诺夫斯基
#28506
亚历山大·塔拉诺夫斯基
#28492
亚历山大·塔拉诺夫斯基
#28487
28481
亚历山大·塔拉诺夫斯基
#27349
2826228427
奥利·乌西克
#28991
德米特里·琴巴尔
#28972
29032
凯特·凯兹玛
#28869
康斯坦丁
#28810
28982
奥利·乌西克
#28696
29012
奥利·乌西克
#28956
奥利·乌西克
#28942
奥利·乌西克
#28941
德米特里·琴巴尔
#28872
29039
奥利·乌西克
#28854
皮埃尔·格里莫
#28832
28829
凯特·凯兹玛
#28661
马切伊·帕夫洛斯基
#26534
28968
瓦迪姆·马莱什
#28898
23638
奥利·乌西克
#28852
德米特里·琴巴尔
#28812
28969
奥利·乌西克
#28650
29009
Michal Derlatka
#28904
26107
德米特里·加利亚莫夫
#28794
28569
佩特科夫斯基·马尔扬
#28757
28563
亚历山大·梅尔尼克
#28747
爱德华·奇托拉加
#27882
250
帕维尔·蒂莱克
#29054
29087
奥利·乌西克
#29002
奥利·乌西克
#28959
奥利·乌西克
#28955
加布里埃尔·达伽马
#28932
1501
奥利·乌西克
#28925
瓦迪姆·马莱什
#28903
28064
安德里伊·卡里尼奇
#28839
26723
瓦迪姆·马莱什
#28799
21811
沃瓦·亚秋克
#28797
28981
瓦迪姆·马莱什
#28752
24922
伊霍尔·斯维齐耶夫
#28749
28900
瓦迪姆·马莱什
#28549
23290
纳扎尔·克洛瓦尼
#28366
824972
Madhu Rajawat
#27516
26191
阿迪提亚·亚达夫
#26660
28143
纳扎尔·克洛瓦尼
#29144
纳扎尔·克洛瓦尼
#29071
奥利·乌西克
#29053
Michal Derlatka
#28888
28570
斯拉娃·曼基夫斯基
#29179
马克斯·梅任斯基
#28210
帕夫洛·西多连科
#27850
纳扎尔·克洛瓦尼
#29149
奥利·乌西克
#29143
瓦迪姆·马莱什
#29001
13210
帕维尔·蒂莱克
#28838
25934
佩特科夫斯基·马尔扬
#28890
26121
奥利·乌西克
#29156
加布里埃尔·达伽马
#29058
1464
奥利·乌西克
#29004
拉斐尔·科雷亚·戈麦斯
#28891
29056
巴尔特洛米耶·苏伯特
#28285
26427
奥利·乌西克
#29162
肖恩·范·苏丹
#29077
29076
奥利·乌西克
#28999
安东·埃弗斯
#28922
29218
扎克·纳宁加
#28856
28656
涂颜
#27340
27162
伊霍尔·斯维齐耶夫
#27221
28693
安德烈·卡西安
#27377
jmonteros422
#29207
1391
萨塔希什·萨勃拉曼尼亚
#29137
28270
奥利·乌西克
#29134
29287
奥利·乌西克
#29133
29289
瓦迪姆·马莱什
#29066
28943
奥利·乌西克
#29007
29281
奥利·乌西克
#29000
29295
lumnn
#28963
29160
lumnn
#28906
29161
涂颜
#28895
24004
涂颜
#28639
2834529261
罗维纳S
#29170
约翰·卡洛·奥塔比奥
#28594
帕夫洛·西多连科
#27917
28705
黑兹尔·乔伊·卡基克拉
#29290
卢卡斯·巴伊萨罗维茨
#29271
29283
安东·埃弗斯
#29244
29329
安德里伊·卡里尼奇
#29139
28793
奥利·乌西克
#29135
卢卡斯·巴伊萨罗维茨
#28992
29159
维塔利·里亚博伊
#28975
29308
安东·埃弗斯
#28930
29240
涂颜
#28842
奥利·乌西克
#27537
28800
马切伊·帕夫洛斯基
#26032
7213
拉尼·普里亚
#23972
23971
萨塔希什·萨勃拉曼尼亚
#29206
28947
奥利·乌西克
#29142
29292
纳扎尔·克洛瓦尼
#29402
马特·沃尔特斯
#29238
543
纳扎尔·克洛瓦尼
#29422
黑兹尔·乔伊·卡基克拉
#29412
纳扎尔·克洛瓦尼
#29405
黑兹尔·乔伊·卡基克拉
#29404
黑兹尔·乔伊·卡基克拉
#29401
jmonteros422
#29399
塞尔吉·伊瓦先科
#29396
jmonteros422
#29393
纳扎尔·克洛瓦尼
#29392
17001693
奥利·乌西克
#29386
29420
奥利·乌西克
#29385
29434
卢卡斯·巴伊萨罗维茨
#29341
29389
瓦迪姆·马莱什
#29331
28901
叶夫亨尼·杜姆斯基伊
#29300
29299
纳扎尔·克洛瓦尼
#29285
伊甸园
#29222
29280
伊甸园
#29199
29198
彼得·霍斯特
#29035
29034
安德里伊·卡里尼奇
#29023
22762
奥利·乌西克
#28993
29388
奥利·乌西克
#28989
29380
康斯坦丁
#28902
29327
克里斯·斯内达克
#28608
29381
钱德鲁·拉金德兰
#28250
29344
伊霍尔·斯维齐耶夫
#28137
24353
阿吉特
#27977
29097
亚历山大·克拉夫丘克
#27905
28303
Ledian Hymetlari
#27582
27570
伊霍尔·斯维齐耶夫
#27364
1719527355
Michal Derlatka
#29256
26110
雅罗斯拉夫·罗戈萨
#27914
28524
黑兹尔·乔伊·卡基克拉
#29441
纳扎尔·克洛瓦尼
#29438
jmonteros422
#29424
纳扎尔·克洛瓦尼
#29367
17471704170216991694
本杰明·罗森伯格
#29451
29470
克里斯托夫,福曼
#29305
29345
卢卡斯·巴伊萨罗维茨
#29272
29346
涂颜
#28480
26498
瓦迪姆·马莱什
#28238
18823
马修·奥洛克林
#26256
881526255
jmonteros422
#29493
1742
塞尔吉·伊瓦先科
#29449
奥利·乌西克
#29427
涂颜
#28642
29468
卢卡斯·巴伊萨罗维茨
#28599
维塔利·普罗科波夫
#27758
26702
帕维尔·贝斯特里茨基
#26175
2831929313
纳扎尔·克洛瓦尼
#29492
1750
纳扎尔·克洛瓦尼
#29490
1749
奥利·乌西克
#29485
塞尔吉·伊瓦先科
#29484
纳扎尔·克洛瓦尼
#29475
奥利·乌西克
#29472
29539
瓦迪姆·马莱什
#29455
25211
优路易
#29398
1684
卢卡斯·巴伊萨罗维茨
#29376
29453
伊格恰克
#29291
29286
尼基塔·萨里切夫
#29214
29213
卢卡斯·巴伊萨罗维茨
#29202
29477
维塔利·里亚博伊
#28923
29527

系统要求

我们的技术栈栈是基于PHP和MySQL构建的。 有关详细信息,请参阅系统要求

安装和升级说明

您可以使用编辑器安装Magento Open Source2.4.1。

迁移工具包

Data Migration Tool可帮助将现有Magento1.x存储数据转移到Magento2.x。此命令行界面包括验证、进度跟踪、日志记录和测试功能。 有关安装说明,请参阅安装数据迁移工具。 考虑浏览或参与数据迁移存储库

代码迁移工具包可帮助将现有Magento1.x存储扩展和自定义项传输到Magento2.x。命令行界面包括用于转换Magento1.x模块和布局的脚本。

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f