关于Magento 2的已知知识

关于Magento 2的已知知识

2016年5月25日发布 in 发展历程
信托经营
2016年5月20日
路易独木舟
路易的夏天
2016年5月27日

Magento 精通… You’我为此而努力。您的Magento成就通过血汗,流泪而战。好吧,也许不是 血液 ,但几乎可以肯定有些汗水和眼泪。

输入Magento2。您’我们已经听说了所有伟大的新功能:扩展的新市场,新的部署过程以及更多的依赖注入,这是您无法动摇的。就这样,你所谓的“mastery of Magento ”不见了吧?错误。 Magento 2引入了一些很棒的新元素,但是使Magento 1变得很棒的所有东西仍然存在。

有很多 那里的文章强调了什么’s new 在 Magento 2, 但是我’d想研究一下’s old.
这些就是你的原因’仍然是Magento大师。

 

现在深吸一口气,让对Magento 2的担忧消失。变化越多,它们保持不变的越多…

模块架构

快速浏览供应商/ Magento 中的模块将告诉您Magento 1的所有熟悉的模块组件仍然存在。他们中有些人的工作方式略有不同,但是他们的角色是相同的。另外,请注意,许多附加组件都是您’熟悉的内容已经从Magento文件结构的其他区域移到了模块目录中。例如,位于M1中应用程序/语言环境中的翻译现在位于i18n中。以前位于应用程序/设计和外观中的模块特定项现在位于模块中’s view directory.

模块架构:M1 vs M2

块变化很小,您几乎可以像以前一样使用它们。您喜欢的所有方法 beforeToHtml, afterToHtml和_prepareLayout存在。 M1有等效项’s抽象和模板块类(位于vendor / magento / framework / View / Element中)。

控制者

控制器具有与您相同的目的’过去,但M2简化了它们的结构。每个动作都具有自己的控制器,而不是单个控制器(例如具有登录,注销,仪表板等功能的客户帐户控制器)上的多个动作。您实现方法“execute”在控制器上执行M1中的动作方法。

 Magento  2产品视图控制器

等等

如果您喜欢基于xml的配置,则可以使用Magento 2。这里最大的不同是您的配置’过去已经被划分为更多文件。例如,这些配置部分已移到events.xml和crontab.xml中,而不是在config.xml中包含event和cron部分。单个文件中的全局,前端和管理节点也已替换为单独的目录。例如,在目录模块中,etc / events.xml中的观察者将在admin和前端中运行,而etc / frontend / events.xml将仅适用于前端。

 Magento  2等

帮手

这里没有特别的警告。 M2助手的工作方式与您完全一样’d expect.

模型

型号与M1非常相似。有一些模型代表各自的实体实例(例如特定产品),还有一些资源模型(包括集合)执行实际的数据库交互。在模块中访问模型时,将赢得’与M1相差很大。访问其他模块中的模型(例如在自定义模块中加载产品)有一些与新服务层(模块)有关的警告’s API directory – see 服务合同的优势)。但是,即使这些新元素在某种程度上也代表了模型和集合表示数据的方式。

 Magento  2模型和Api目录

It’还值得一提的是,观察者和cron任务不再与模型分组。它们在模块中都有各自的目录。

sql /设置

在M1中,模块包含由模块版本(在etc / config.xml中)与模块之间的差异触发的安装和升级脚本’的记录在core_resource表中。这类似于M2,但是系统得到了简化。通常文件较少,您不会’不必根据适用的版本号为它们命名。

 Magento  2目录设置

可扩展性

可扩展性一直是Magento的重点,M2提供了更多选项来优雅地修改应用程序的运行方式和对用户的外观。但是,M1概念仍然存在,并在根据您的需求量身定制安装中发挥了重要作用。

前端后备

Magento 始终依靠主题回退来提供演示文稿的灵活性。将使用在主题中找到的文件。原来的文件 ’找到的内容将从其父主题中检索。在M2中也是如此。

观察者

在整个Magento应用程序中,事件是故意调度的,以允许其他模块的干扰。在M2中保持不变,并且’如果需要,仍然是更改行为的最佳场所。观察者现在位于其自己的目录(而不是模型)中,就像M2控制器的每个动作具有一个类别,观察者的每个事件具有一个类别以及一个事件一样。“execute”响应事件运行的方法。

重写/首选项

如果观察者未能在M1中提供必要的访问权限,则重写是修改类的首选解决方案’s behavior. While it’重要的是要提到M2’插件功能将是继观察者之后的第二好东西,重写的概念仍然存在。 M2中最接近的是偏好,它是 ’与依赖项注入系统有关。就像M1重写一样,它允许您与自己的本机类实例交换实例,以便您可以覆盖类上的方法和属性。

渲染系统

如果你爱M1’的基于xml的布局系统(我也这样做),M2布局没有’t disappoint. It’在概念上是相同的,但组织有所不同。两者比较使得M1看起来有点自由形式。 M2采用更结构化的布局方法。对于初学者来说,每个布局文件都与一个特定的句柄相关联,而不是每个文件具有多个布局句柄。例如,M1中catalog.xml的内容已分解为M2中的catalog_product_view.xml,catalog_category_view.xml等。这些文件的主体基本上感觉就像M1,但是您不仅仅是使用块标记,’ll也将使用容器标签。容器等效于M1中的核心文本列表。它们只是按指定顺序渲染所有子元素。块以与M1相同的方式工作,但有一些例外,例如如何定义块类型以及指定构造函数参数的能力。

布局文件:M1与M2

目录

如果你 know the catalog 在 M1, you know it 在 M2. The core structure, as well as many of the settings, remain unchanged.

产品展示

在M2中管理产品属性集和属性实际上与M1相同。产品架构也几乎没有改变。可用的产品类型与大多数属性都相同。 M2的最大变化是演示。 Magento 专家可能会发现自己正在搜索一些设置’惯于使用Magento的新手会发现不那么压倒性的体验。它’很明显,这些更改旨在简化产品管理流程,我个人认为它们是’重新有效。值得一提的新过程的另一部分是,在最初创建产品之后,便可以在某些产品类型之间切换的功能。 M1使您可以预先选择产品类型,而M2使您可以根据设置在简单,虚拟,可下载和可配置的产品类型之间进行切换。还应注意,可配置产品价格现在源自关联的简单产品,而不是基本价格+附加选项成本。

分类目录

M2类别与M1中的类别几乎相同。用于管理它们的界面是相同的,包括类别树和选项卡(常规信息,显示设置等)。类别的主要变化是使用选项而不是进行手动关联来填充它们的新选项,尽管Enterprise 1.14中也提供了此功能。

订单流程

如果你’花了相当多的时间来学习M1订单流程的所有要素,’很高兴知道它几乎保持不变。报价和报价项目成为订单和订单项目。订单状态和状态都很熟悉,并且货运,发票和贷记凭证仍在附近。一项不错的新功能是能够自定义销售网格。您可以自定义显示哪些列,并将设置另存为视图,以备将来使用。

 Magento  2订单网格

索引和缓存

你赢了’注意M2中的缓存和索引有很多变化。管理就是你’重新习惯。可以将索引设置为在保存时或按计划更新。可用索引列表略有不同,但是看起来没有什么特别的。缓存与它们的M1副本同样相似。可以分别启用,禁用和刷新缓存类型,并且刷新Magento缓存和刷新缓存存储按钮仍然存在。有一些新的缓存类型,但是它们’非常不言自明。社区版中的页面缓存是一项令人愉快的添加。

指数:M1 vs M2

快取:M1与M2

Magento 和您的光明未来

如果你’为了准备加入Magento 2,我建议您乐观地做。我个人开始感到紧张,但很快就对它的熟悉程度感到惊讶。一旦您超越了一些新概念的初始学习曲线(借助 Magento ’s documentation site),你’ll realize you’拥有比您想象中更强大的能力,可以迈入下一代Magento开发。发展愉快!

1 评论

  1. 我想知道为什么他们完全重写所有内容以创建M2。为什么不改进M1并在所有1.9.X.X版本之后使用相同的代码库将其称为M2。是一种营销头,以便所有M1商家都应升级到M2并购买更昂贵的M2模块吗? ðŸ〜€

    就像WordPress,从今天的0.1版本到4.8.1,他们没有’重新发明轮子。您今天可以自动将非常老的WP内核升级到最新的4.8版本。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.

最近的帖子 查看全部
2020年10月22日

Covid世界中的假日销售:应对挑战

毫无疑问,2020年是历史性的一年。火灾,全球大流行,暴动,老虎王等’只是冰山一角。如 [â€]
2020年8月7日

涡轮增压ZZPerformance的付费搜索

2020年7月30日

Intermix Beats M1 End of Life with 优雅的骆马Accelerator