我应该为Magento开发哪些有趣的模块进行学习?


9

现在有一段时间我一直在研究Magento。我做了很多模块,但是我仍然认为我需要更多的培训,但是我想不出一个有趣的模块来严格地处理尽可能多的事情。

这是我制作的一些模块:博客,管理员电子邮件通知,相关产品,产品视图弹出窗口。

因此,有人可以建议一个模块来要求我学习我尚未接触的东西或有趣的思维方式吗?

该问题可能没有此站点所需的100%Q / A答案表格,但我希望我能得到一些建议

谢谢。

PS:一切都严格出于教育目的,我想学习Magento的所有内容。


这完全是自我服务,因此我不确定是否应该将其作为真正的答案,但是Commerce Bug是开始了解发生在幕后的事物的好方法,并且是当您接触这些问题时提供的一个很好的工具。您以前没碰过的事情:commercebugdemo.pulsestorm.net
艾伦·斯托姆

1
谢谢,我实际上有它,它非常非常有用:)
Vlad Preda

取决于您是否用尽了学习样本,您可以看一下;-) 在“一页结帐”中显示一个可选列表,并将所选项目添加到我在类,模块,渲染和块/模型中苦苦挣扎的订单中
满眼的生命2014年

Answers:


15

学习Magento时有几个阶段:

初学者

在此阶段,您正在尝试学习Magento的文件,类和组件结构。

这些包括:

  • XML格式

    在这里,您将学习如何通过XML更改不同的配置设置,其中包括移动块位置,注册模块和分配新模板的示例。

  • 积木

    您可以设置自定义模块来制定一些业务决策,例如,在特定产品的前端显示一个特殊图标。

  • 楷模

    在这里,您将了解Magento如何访问数据库中的数据,以及如何以不同的方式操作数据,例如,按字母顺序获取客户列表。

  • 帮手

    在这里,您将学习如何为实用程序功能创建帮助程序类,例如,制作一个以大写字母格式格式化客户名称的功能。

  • 控制器

    在这里,您将学习制作具有自定义功能的自定义URL,例如,制作一个供客户检查其“保修状态”的页面。

中间

在此阶段,您正在尝试了解Magento的不同部分。

其中一些是:

  • 产品

    在这里,您试图了解产品的不同部分及其属性。

    一些示例是:

    1)获取和设置产品属性的值

    2)在购物车中获取并设置产品所选选项的值

  • 顾客

    1)获取和更改客户数据

    2)针对特定用户(例如销售团队)显示不同的视图

  • 销售-订单

    1)从订单中获取所有产品及其客户选择的选项

    2)获取给定订单的客户信息

    3)获取给定日期范围内的所有订单

  • 后端

    1)在后端创建自定义菜单

    2)在配置页面中创建自定义选项卡

    3)将自己的数据存储在数据库中

这些都是示例,根据您的需求,它们可以完全不同。

此时,您将发现自己浏览了Magento的核心代码,并试图理解Magento完成给定任务(例如创建新产品)所采取的步骤。

正如您在此时看到的那样,您对Magento的浏览更像是一个电子商务框架,并且通过更好地了解不同的组件,可以按自己的意愿来制作它。

高级

在这一点上,您正在将Magento视为满足客户业务需求的一种方式(显然,这种感觉不是必须的,但这是一个好兆头)。

以下是一些模块,可以帮助您以有趣的方式思考:

  • 新产品类型

    环顾四周,尝试查看默认情况下Magento不支持的产品类型,并创建一个支持该产品的模块。

    一个示例是基于事件的产品(例如出售体育游戏的门票),挑战在于允许用户选择座位和时间,并且系统必须让他们知道是否可用(如果没有)。 ,它将告知他们最近的可用插槽是何时。

    挑战的一部分是要确保产品在以下地方正常工作:

    1)后端-管理员应该能够输入必要的数据(例如运动类型,费用和可用座位数)

    2)前端-购物时需要向用户显示此信息

    3)购物车/结帐-用户应查看运动类型,座位类型,座位数量和购买日期。

    4)订单-此信息需要存储在系统中,以便所有者知道购买了什么

    您可以添加更多详细信息,但您可以理解。

  • Google Doc产品导入

    产品进口是Magento最受欢迎的开发领域之一。

    该模块的目标是从Google Spreadsheet导入产品及其数据,请记住您的客户不想在Magento中培训其数据输入工作者;)

    以下是有关其工作原理的粗略想法:

    1)Magento登录用户的Google云端硬盘帐户,然后查找名为Categories的文件

    2)它解析文件以查找驱动器中应查找的所有其他文件(每个类别都有一个单独的文件)

    3)Magento转到每个category文件并解析该文件,每一行包含一个包含所有数据的产品

    4)Magento尝试将产品保存在数据库中(如果产品已经存在,则仅保存对产品的更改),如果存在错误,则会在错误列(电子表格中)中显示用户友好错误。

  • 高级订单查看器/分析器

    本模块的所有内容都是以一种有用的业务方式查看后端中的订单。本质上,您正在构建可以以不同方式(例如:从低到高或按字母顺序)排序的网格。

    这是它将具有的一些功能:

    1)能够查看与订单关联的客户

    2)能够查看每个订单的项目总数

    3)能够按日期,客户,订购的商品数量和订单总数进行过滤

    3)过滤器将允许多个WHERE,AND和OR选择(例如分层导航)

    实际上,它看起来像是Excel电子表格,用户可以选择要查看的“列”,并可以决定如何过滤它,以便他们做出更好的业务决策。

  • 餐厅商店模块

    Magento另一个流行的开发领域是它与其他系统和服务的集成。

    该模块的目标是创建外卖食品购物体验,除了需要编辑/创建新产品类型外,还需要与流行的POS系统接口,以便客户可以对所有订单进行集中管理。

    需要考虑的其他一些功能:

    1)与Seamless和Grub Hub集成

    2)客户能够实时查看其订单的“状态”

    3)客户重新订购收藏夹的能力

    4)创建一个“智能”激励功能,该功能可为那些辛苦顾客的最喜欢的食物(他们购买最多的食物)提供一定比例的折扣

如您所见,在这一点上,更多的是了解这一点的业务需求,然后再了解如何更改产品的属性。

摘要

大多数人不是按照一定的顺序学习的(就像这篇文章所建议的那样),而是在某些领域中他们跳到了高级,而在其他领域中,他们可能处于初级或中级水平。

无论您身在何处,都可以通过提出相应的挑战来找到增长的方法。


@VladPreda,您的欢迎,请确保免费提供给我您创建的模块的副本;)
pzirkind

1
呵呵,当然,几年后,当我开始编写足以出售它们的模块时:)
Vlad Preda

3

没有太多关于模块的想法。

熟悉结帐的工作方式是一个好主意。

因此:构建支付网关模块。扩展结帐并添加额外的步骤。

还可以在管理区域周围做一些工作,模块通常需要管理部分供客户端使用。在这里,我不仅指系统配置,还包括网格,选项卡等的用法。

祝你好运B-)


+1表示管理区评论。我也希望扩展网格和选项卡,以便为现有的管理功能添加额外的功能
CCBlackburn,2013年

1

您可以根据自己的需求进行思考,我认为这是学习的最佳方法,因为如果您正在做自己需要的事情,那么与其他方式相比,您会更有动力。

如果您没有任何需求,则可以考虑人们会要求您发展的“一般”需求。


1

您可以研究更复杂的解决方案:

  • 与CRM,ERP,CMS或其他集成(双向数据同步)
  • 基于OpenID,Oauth,LDAP和/或其他方式的单一登录解决方案
  • 建立一个改进的新闻通讯编辑器
  • 如果您喜欢更多的前端工作,请创建一个响应式设计主题
  • 使用类似此模块的图形创建统计监控

您也可以参加Magento Hackathon,或者看看Hackathon现有项目并参与其中。我们总是需要人,您会发现很多类型的项目。


太棒了,谢谢您抽出宝贵的时间回答这个问题,有趣的是,我将在两周内开始与工作中的ERP进行2way同步集成:P
Vlad Preda 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.