magento 是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性。选择Zend的原因有很多,但是最基本的是因为 zend框架提供了面向对象的代码库并且有很好的团队支持。

通过这个框架,magento 主要围绕三个基本点建立:

  1. 灵活性:我们相信每一个解决方案都像它的商务支持一样是独一无二的。magento的代码可以无缝定制的。
  2. 可升级性:magento可方便的实行定制且不丧失升级的能力,因为从社区中获得核心代码和本地的自定义功能是分离的。
  3. 速度和安全:开发人员所使用的代码标准遵循了最佳做法,确保了程序运行的效率,并且提供了安全的在线网店程序。

这一章我们将介绍magento的关键概念和专业术语。即使你不是开发或设计magento,它们也将帮助你更好地建立自己的网上商店。


内核(Core)

magento内核包含了包括下载版本在内的所有功能。核心代码是magento核心团队开发或认证的模块集合。我们不推荐修改核心代码,因为那会 影响到magento升级的功能。

本地的(Local)

本地扩展(Local extensions)是magento的用户自定义功能,它仅存在于用户的本地拷贝。这些扩展将被放置在一个本地文件夹下,不会因升级内核代码而受到干 扰,而且可以跟社区支持的代码区分开来。他们是放在都一个目录下面的各种类型的扩展。

虽然说这些扩展的目录跟内核代码目录不同,但是他们还是跟内核代码一样运行的。

社区(Community)

社区贡献(Community contributions)是仅当下载时存放在社区文件夹下的一些应用。和本地扩展一样,通过跟内核代码区分开来,可以让magento网店店长可以在 享用扩展功能的同时不用为升级将来的magento版本而烦恼。


扩展(Extensions)

简单的说,扩展就如它的名字一样,扩展系统的功能。一个或者多个文件打包在一起实现扩展magento的一些功能。扩展中会有一些严格的限制和条 件,以此禁止扩展修改magento的内核代码,确保任何扩展功能不会对以后用户升级magento造成麻烦。

扩展可以在后台的管理面板里安装,或者直接从magento Connect里下载。这些操作会在后面的文章里提到,Magneto扩展有三种类型。它们会存放在上面提到的两个目录上(Local和Community)

模块(Modules)

模块是一种延伸magento特点和功能的扩展。你也许从其他一些软件了解过模块这个概念,如果没有的话,一些模块的具体实例可以帮助你理解,例 如:额外的支付网关,特殊产品促销工具等。

界面(Interface)

界面是一系列主题的集合,这些主题决定输出那些内容和控制网店前台的功能。一个界面可以后台管理面板指派到网站级别(Website- Level)、商店级别(Store-Level)或者网站商店级别(Website and Store Level)。我们将会在手册的后续文章中介绍界面,现在先让我们看看主题。

主题(Themes)

一个主题是由布局(Layout),模板(Template)和皮肤文件(skin文件是控制网店的显示效果的)组成。magento被设计成一次 可以加载多个主题的功能,因此,通过两种类型来区分主题:

  • 默认主题(Default Themes) – 每个界面都有一个主要的主题,称之为界面的默认主题。当你为你的网店指定一个界面的时候,系统就会自动地寻找这个默认主题,并按照这个主题来显示前台。为 了自定义网店设计,您可以修改这个主题, 或新建一个非默认主题,并加载它。默认的主题必须包含所有必要的布局,模板和皮肤,以确保网店顺利运行,作为主题等级系统中最低级的主题。
  • 非默认主题(Non-Default Themes) – 非默认主题可以根据你的需要来包含或多或少的主题元素文件(Layout、Template和Skin)。这种类型的主题可以作为网店的临时季节性的更 改,而没有必要建立一个新的默认主题,通常可以通过创建的几张图片和更新一些的CSS来实现,例如:你可以轻松地将您的网店从平常的页面外观变成有圣诞节 气氛的网店。

让我们来了解一些主题的组件:

  • 布局(Layouts) – 布局是XML文件,它的作用是定义不同页面的区块(Block)结构,以及控制页面的META信息和网页的编码。布局文件是基于每个模块分布的,每一个模 块拥有它自己的布局文件。
  • 模板(Templates) – 模板是PHTML文件,它包含(X)HTML标签和一些用来实现信息和功能显示的逻辑的PHP代码。
  • 皮肤(Skins) – 皮肤是具体区块(Blocks)中的JavaScript、CSS和图片文件。你可能会问什么是区块?很好的问题,不过不用担心,magento已经为这 个组件定义好了,看下面。

区块(Blocks)

区块是magento用来区分系统中一系列功能,并创建一个可见的、操作方式统一的模块化方式来管理这些功能的方式。有两种类型的Block,并且 它们相互工作来创建输出的内容:

  • 结构区块(Structural Blocks) – 这些Blocks是设计成来创建网店页面的可视结构的。例如:头部(Header)、左边栏(Left Column)、主体内容(Main Column)和页眉(Footer)。
  • 内容区块(Content Blocks) – 这些Blocks是在Structural Block中生成实际的内容的。它们是具体的每个功能的表现块,它们会部署Template Files到Structural Block中生成(X)HTML内容。例如:分类列表(Category List),小购物车(Mini Cart),产品标签(Product Tags)和产品列表(Product Listing)等等。

除非你将做magento开发或magento设计,否则你并不需要知道更多超过这些专业名词的知识。

来源:http://blog.aim-china.com/?p=108

Magento的基本架构相关推荐

  1. Magento用的哪个php框架,对magento MVC框架的了解

    在做二次开发以来,一直没有好好地去了解magento的MVC架构,以为跟其它的MVC架构一样,其实有着很大的区别. 有很多的程序框架都使用了现在最流行的MVC架构,对于Model-View-Contr ...

  2. 成为中国最好的Magento开发公司

    MEC电子商务是国内首家Magento定制服务公司. 对于Magento开发,我们的目标是做中国最好的Magento开发公司,但这是一个无止境的追求,从我们2007年创立之初至现在我们积累了大量国际知 ...

  3. 深入理解Magento – 第三章 – 布局,块和模板

    深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第三章 – 布局,块和模板 我们接着研究Magento.根据我们第二章讲的Magento MVC的架构,我们接下来 ...

  4. 深入理解Magento – 第二章 – Magento请求分发与控制器

    深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第二章 – Magento请求分发与控制器 Model-View-Controller (MVC) ,模型-视图- ...

  5. Magento开发文档(七):Magento EAV模型

    在第一篇介绍Magento ORM的文章中,我们提到过Magento拥有两类模型.普通的模型及Entity Attribute Value(EAV)模型.这里首先搞清楚它们之前的一些关系. 所有的Ma ...

  6. Magento开发文档(一):Magento入门

    开始之前,首先声明下,Magento开发者手册由Alan Storm发表在Magento官方网站上.总共分八个部分,由浅入深的介绍了Magento的MVC架构及Magento中使用的比较特殊的EAV模 ...

  7. Magento 架构原则

    Magento架构原则 >OOP体系结构和编程原则 OOP体系结构和编程原则面向对象编程(OOP)设计允许软件组件具有最大的灵活性和可扩展性,允许您设计和实现高度定制的网站.面向对象原则的优点包 ...

  8. magento 架构原理

    2019独角兽企业重金招聘Python工程师标准>>> 面向对象架构和开发原则 面向对象的编码设计最大化了组件的灵活性和扩张性,能够满足实现设计和实现高度定制化网站的需求.面向对象原 ...

  9. Magento开发的特点有哪些?

    Magento是一套专业开源的电子商务系统,也是目前主流的外贸网站购物系统,都是居于PHP语言开发的,数据库使用的是Mysql,且浏览界面很适合欧美用户的使用习惯.Magento开发设计得非常灵活,具 ...

最新文章

  1. python编程图_Python编程图形库之Pillow使用方法讲解
  2. Hadoop YARN
  3. 设计模式 分类和原则
  4. 【Docker】docker-compose安装
  5. gd动态曲线 php_PHP GD库动态生成折线图的实例代码
  6. 使用JDBC驱动程序访问SQL Server 2000数据库(实例)
  7. 手游建筑美术资源_建筑商和机械手
  8. Python3实现红黑树[上篇]
  9. oracle导数卡死,oracle-审计导数
  10. 深入解读Flink资源管理机制
  11. ios12关闭设置角标_iOS 12.4.2为停产的设备带来了安全修复程序
  12. c++exe程序在别人电脑上双击无法打开_你可能不知道的电脑软件打开方式总结!
  13. scala调用java库_从scala调用java时的java.lang.IllegalAccessError – solutions / workarounds?...
  14. 敏捷开发一千零一问系列之六:业务人员怎样参与开发?
  15. 有效解决OneNote同步问题
  16. Android反编译apktool,dex2jar和jd-gui的使用和一键反编译查看apk
  17. 约4万个外国人名,中英对照
  18. 判断门禁卡是否加密_教你用手机模拟加密门禁卡-不用电脑
  19. 如何查看Spark日志与排查报错问题
  20. 阿里云服务器搭建后台(Ubuntu)

热门文章

  1. 前端获取本机ip_前端开发者必须明白的浏览器工作原理
  2. InceptionNet V3整理总结
  3. php编写个人所得税单元测试,php趣味编程-php求个人所得税
  4. C++:遍历指定路径下的文件/图片
  5. 图像处理基础系列-01
  6. vscode浏览器扩展(图文教程) - 设置篇
  7. node.js更新升级(Mac与Windows)- 总结篇
  8. 开源电子商务网站平台Sylius v1.8.6源码
  9. 电脑硬盘数据线_这40种电脑故障的排除技巧你都掌握了吗?
  10. oracle 中sql的分类,Oracle数据库语言分类