Magento 2.4.x 与 2.3.x 对比分析

Magento 2.4.x 与 2.3.x 对比分析

Magento 2.4 于 7 月 28 日发布,现在这个词非常热门。这带来了许多令人兴奋的新功能和重要修复。但是 Magento 2.4 与 2.3 之间有什么区别?如果您很好奇但同时又懒得坐下来阅读史诗般的发行说明,那么,这篇文章适合您。我们收集了一些关于 Magento 2.4 和 2.3 的必须知道的事实,每个商家都应该考虑到。

亮点

1. Magento 2.4 vs 2.3:更强的安全性

  • Magento 2.4 版本针对安全问题提供了30 多个修复程序,以保护帐户免受远程代码执行 (RCE) 和跨站点脚本 (XSS) 的影响。
  • 访问 Magento 管理 UI 现在需要所有设备的双因素身份验证(2FA)。

其他值得注意的安全改进:

  • 现在默认启用模板过滤器严格模式。Magento 团队一定已经意识到遗留模式下模板过滤器的安全缺陷。将默认设置更改为严格模式有望阻止任何远程代码执行 (RCE) 尝试。
  • 不再需要为 UI 数据提供者呈现数据。承诺在默认情况下永久删除此功能,以消除任何从外部恶意执行任意 JavaScript 的行为。
  • 现在可以使用新的 \Magento\Framework\Escaper 类。.phtml 模板和负责生成 HTML 的 PHP 类现在都随新类一起提供。
  • 新的 security.txt 文件。Magento 2.4 还支持新的 security.txt 文件。它被称为服务器上的行业标准文件,用于收集从研究人员到站点管理员的安全问题报告。

2. Magento 2.4 vs 2.3:平台升级有哪些新变化?

  • 支持 PHP 7.4 并弃用 PHP 7.1 和 PHP 7.2
  • 支持 PHPUnit 9.x 并弃用 PHPUnit 6.5
  • 弹性搜索 7.6.x。Elasticsearch 7.6.x 被选为 Magento 的默认目录搜索引擎。任何安装或升级到 Magento 2.4.0 也需要安装 Elasticsearch 7.6.x。
  • MySQL 8.0 支持。由于MySQL 8.x,最新版本的 Magento 将提供更好的性能、安全性和可靠性。
  • 删除 MySQL 目录搜索引擎。MySQL 被 Elasticsearch取代。在升级到 Magento Commerce 或 Magento Open Source 2.4.0 之前,需要安装 Elasticsearch 7.6.x。阅读检查目录搜索引擎以解决问题。
  • MariaDB 10.4 支持。其次是支持 MySQL 8.0 的是 MariaDB 10.4。Magento 专家鼓励商家部署 MariaDB 10.4,因为它具有高性能和可靠性。
  • Zend 框架迁移到 Laminas 项目
  • Magento 控制器的分解
  • 删除了 Signifyd 欺诈保护代码的核心集成。显着欺诈和退款保护扩展是另一种选择。
  • 移除核心 Brainee 模块。检查Braintree Payments以查看新功能。

3. Magento 2.4 与 2.3:基础设施改进

  • 弃用 Magento 核心支付集成
  • 支持 Elasticsearch 的部分词搜索
  • 贝宝 JavaScript SDK 升级
  • 弃用和删除 Web 设置向导
  • Composer 更新插件
  • 卖家协助购物

4. Magento 2.4 与 2.3:性能改进

  • 客户数据部分失效逻辑的改进
  • 对Redis性能的多项优化
  • 改进了对清单表的 SQL 查询结果的缓存
  • 将快速订购添加到购物车的性能提高多达 25-30%。

5. Magento 2.4 与 2.3:新的 Adob​​e Stock 集成

  • 媒体库现在允许商家许可库存图像预览。与 Magento 2.3 不同,因此采取的步骤更少。

6. Magento 2.4 vs 2.3:GraphQL 的新特性

  • pickupLocations 查询支持 Inventory In-store 取货功能。
  • 类别查询有助于在应用指定的过滤器后创建类别列表。
  • 登录后,用户可以使用 reorderItems 更改将所有先前订购的商品添加到他们的购物车中。

7. Magento 2.4 vs 2.3:最新的 PWA Studio 版本

8. Magento 2.4 与 2.3:新媒体库

新媒体库展示了一个全新的、易于搜索的界面。据 Magento 称,与它的前身相比,最新的图库版本在搜索、过滤和排序图像方面的速度提高了 30 倍。商家还应承认,一旦为 Media Gallery 部署的扩展程序将不会与 New Media Gallery 完全相同。

9. Magento 2.4 vs 2.3:更好的库存管理

  • 支持店内取货。店内送货方式允许用户在结账时选择一个来源作为取货地点。
  • 支持多源模式捆绑产品。

已修复问题

Magento 2.4 核心代码不再有其前辈的问题。在这篇文章中,我们收集了商家不应错过的大规模修复背后的 10 个显着元素。对于想要查看完整列表的任何人,请参阅此Magento 2.4 官方公告

1.后端

  • 启用 JavaScript 缩小后,管理员现在可以预览电子邮件模板(Admin > Marketing > Communications > Email Templates)。不再像以前那样出现空弹出窗口问题。
  • 具有受限权限的管理员帐户现在可以访问管理员。以前,这是不可能的,因为登录链接导航到 404 店面页面。
  • 重复的产品不再导致重复的 SEO 数据(URL 键、元标题、元关键字和元描述)。
  • Magento 用户可以删除从管理>内容>页面> 添加新页面创建的图像而不会出错。

2. 购物车和结帐

  • 启用“与后端同步”配置设置后,结帐期间不会出现错误。
  • 送货方式的单选按钮已添加到结帐流程中。
  • 在商家选择多个地址来运送订单并使用手动应用设置启用条款和条件后,结帐工作流程中的订单审核页面仍照常加载。没有 404 页面。
  • 旋转图标现在包含在购物车的价格更新过程中。
  • 结账前,一条消息将通知客户迷你购物车中的缺货产品。删除此项目后,Proceed to Checkout按钮将立即出现。
  • 当由于文件上传损坏而无法使用按 SKU 订购选项时,信息性错误消息将通知客户,而不是空白页面。
  • 购物车价格规则不适用于捆绑包中的整个产品,而仅适用于符合条件规则的子产品。
  • StorefrontMiniCartSection 在 MFTF 测试中已被 StorefrontMinicartSection 取代。
  • 送货地址表单现在没有对国家/地区选择器组件的强制引用。
  • 在 Internet Explorer 中,当光标悬停在购物车中的删除图标上时,它没有像以前一样下划线。
  • 当用户为帐单地址和送货地址选择相同的地址时,帐单街道的更改不会影响送货地址。
  • 修改了mini cart的promotion优惠券区域。

3. 目录

  • 用户可以更改计划更新中包含的分层产品的名称而不会出错。
  • 用户可以从管理员保存自定义属性值。
  • 最近查看产品仅在商店>配置>目录>最近查看/比较产品>显示当前设置为商店视图时显示。
  • 产品图像在迷你购物车中保持其纵横比,而不会被拉伸以填充整个图像容器。
  • getBasePrice 函数现在返回一个浮点值而不是一个字符串。
  • 产品对比功能,根据当前用户的对比列表,准确展示产品。
  • 您现在可以为主题分配默认水印,而不会出现致命错误。
  • 您可以编辑具有许多子产品(大约 5,000 个)的可配置产品而不会出错。
  • 现在应用字母顺序对管理>目录>产品上的属性集进行排序
  • 使用无效价格过滤类别页面上的产品不再导致错误。

4.客户

  • 如果客户首先以访客身份订阅时事通讯,然后注册一个新帐户,他们的订阅仍然存在。
  • 每次更改密码时都会使用一个新的 PHPSession。
  • 要将客户与特定网站成功关联,您可以使用“客户” >“所有客户” >“添加新客户”上的“关联到网站”下拉菜单。
  • 为了更好的结帐工作流程,当客户使用无效的付款信息并被拒绝但后来完成购买时,Magento 会自动更新“我的帐户”部分中的默认帐单或送货地址。
  • 启用 cron 并为客户网格索引器设置按计划更新后,客户数据可以通过客户和地址(单个文件)选项成功导入。
  • 以前,即使您输入了有效日期,也无法在需要出生日期时创建新客户。现在你可以。
  • 当您从 Admin 创建新客户时,它现在具有默认客户组设置。
  • 当客户注销然后再次登录时,PHPSessionId 会更改。
  • 当客户从非默认网站将产品添加到他们的购物车时,该产品现在会显示在管理中。以前,即使将Share customer account设置为Global也不会显示它。
  • 在管理员中,您只能查看客户放入购物车的产品,而不是目录中的完整产品列表。
  • 从管理员编辑客户的出生日期时没有错误。
  • 从管理员下订单时无需填写电子邮件字段。
  • 在移动视图中,从“我的帐户”仪表板准确显示电子邮件地址值。
  • 无论您单击客户注册表上的“创建帐户”按钮多少次,注册请求都只会提交一次。

5. 电子邮件

  • 当客户请求退货时,会向他们发送一封带有预期 RMA 状态的授权电子邮件,而不是空字符串。
  • 当客户在多站点部署中报告忘记密码并且他们的帐户在全球共享时,他们仍然可以留在当前站点。以前,他们被重定向到他们创建帐户的地方。
  • 当客户收到订单确认电子邮件时,他们将看到订购的商品列表。以前,当此电子邮件是从管理员中的默认模板生成时,该列表不包括在内。

6. 图像

  • 类别图像现在保存在 pub/media/catalog/category 中,而不是像以前那样保存在 pub/media/catalog/tmp/category 中。
  • 当较大的水印图像覆盖较小的产品图像时,产品图像仍然可见。
  • 当您从管理员将图像保存到类别时,图像 URL 仍然保持不变,您可以重新打开它。
  • .png图片可以成功上传和显示。
  • 您可以使用 REST 制作图像缩略图,并且不会发生错误。
  • 您可以成功地为 Block\Product\ImageFactory 生成的图像添加您自己的自定义属性。
  • 当您从 iPhone 查看店面时,您可以看到按预期显示的图像。不再有模糊或扭曲的图像。
  • 使用 Magento_blank 主题时,您现在可以在店面上看到默认的商店徽标。

7. 订单

当网站显示设置指定应排除税费时,订单汇总小计不再显示排除的税费。之前,尽管存在商店级别的配置,但服务器变量中定义的设置仍用于多个网站中的商店。

8. 销售

  • 订单完成后,它会显示在支付系统中,现在也显示在 Magento 中。以前,Magento 中没有显示。
  • 鉴于默认情况下启用“与帐单地址相同”设置,Magento 现在尊重客户的默认送货地址。
  • 现在可以正确计算折扣订单的退款。
  • 当新客户在多站点部署中创建订单时,将为其分配正确的组 ID,而不是来自默认客户组。
  • 具有有限权限的管理员可以从订单页面查看订单(包括发票和发货)而不会出错。
  • 当加入购物车的产品数量大于现有产品库存的一半但小于总库存时,客户仍然可以成功进行。
  • 当库存中只剩下 1 件产品时,您可以将该产品从管理员添加到购物车而不会出错。
  • 当产品管理员尝试重新订购的字符数超过最大值时,Magento 会通过消息通知您而不是报告页面。
  • 销售订单地址信息编辑表单的重构布局现在与管理表单库约定相匹配。
  • 这些复选框现在在Catalog > Categories的 Products 部分运行良好。
  • 当商家出现时,重新订购现在按预期禁用
  • 商家可以通过以下配置成功禁用重新订购:Admin > Store > Configuration > Sales > Reorder > Allow Order。
  • 当您在 Admin 中为订单设置自定义价格时,getPrice() 方法不会返回字符串,而是返回浮点数或空值。
  • 现在,在管理>商店>设置>订单状态的状态代码和标题列中显示状态而不是状态。
  • PDF 发票在 GB 语言环境中创建时不再捕获错误的购买日期。

9. 搜索

  • Elasticsearch 7.6.x 是新的默认目录搜索引擎。要安装/升级 Magento 2.4.0,您需要先安装 Elasticsearch。查看链接以了解 Magento 对这项新功能的全部优势的看法。
  • < 和 > 符号在店面目录搜索字符串中正确呈现。
  • 在实施 Elasticsearch 的部署中运行 cron:run 后,产品现在可以很好地显示在类别中。
  • 现在可以在店面上搜索新产品属性,而无需完全搜索重新索引。
  • 当您为可配置产品应用过滤器时,将不再显示缺货商品。
  • 当您单击 Safari 移动视图上的搜索输入框时,视口不再调整大小。

10. 主题

  • JsFooterPlugin.php 中影响动态块显示的错误现已修复。
  • 由于 i18n 方法,可以将字符串添加到下划线模板。
  • 重构的 section-config 模块减少了第三方请求导致的错误。
  • 不再有 LoadCssAsync HTML 格式错误。

最后的话

现在您可以说出 Magento 2.4 与 2.3 的最显着特点。我认为 Magento 2.4 展示了 Magento 团队在他们所做的事情上的努力和承诺,而且他们做得非常好。我们将继续检查和审查 Magento 的下一次更新。如果您有任何问题,请随时在下方评论并告诉我。或者去Magento2开发者社区提问讨论

参考