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)等等。

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

转载于:https://www.cnblogs.com/wwufengg/articles/magento-struct.html

Magento的基本架构解析相关推荐

  1. 特斯拉Tesla Model 3整体架构解析(上)

    特斯拉Tesla Model 3整体架构解析(上) 一辆特斯拉 Model 3型车在硬件改造后解体 Sensors for ADAS applications 特斯拉 Model 3型设计的传感器组件 ...

  2. The JVM Architecture Explained-JVM架构解析(译)

    2019独角兽企业重金招聘Python工程师标准>>> 翻译原文:https://dzone.com/articles/jvm-architecture-explained JVM架 ...

  3. 千万级在线推送系统架构解析

    2019独角兽企业重金招聘Python工程师标准>>> 千万级在线推送系统架构解析 移动短消息是大家所熟知的一种信息推送方式, 基于信令通道的推送在简单信息的体验方面已经被大家所接受 ...

  4. 超低延迟直播架构解析

    本文由百度智能云-视频云直播技术架构师--朱晓恩 在百度开发者沙龙线上分享的演讲内容整理而成.内容从低延时直播背景与机遇出发,分析低延迟直播技术,重点分享百度在低延迟直播技术的实践工作. 文/ 朱晓恩 ...

  5. 直播报名 | 超低延时直播架构解析

    超低延时直播架构解析|百度智能视频云3.0全场景音视频技术解析第 4 期 直播详情 第4期:超低延时直播架构解析 时至今日,互联网直播经历了 4 年的高速期发展,用户对体验的要求也越来越高,传统的 5 ...

  6. 基于 Apache Flink + Hologres 的实时推荐系统架构解析

    简介:<实时数仓入门训练营>由阿里云研究员王峰.阿里云高级产品专家刘一鸣等实时计算 Flink 版和 Hologres 的多名技术/产品一线专家齐上阵,合力搭建此次训练营的课程体系,精心打 ...

  7. Lakehouse 架构解析与云上实践

    简介:本文整理自 DataFunCon 2021大会上,阿里云数据湖构建云产品研发陈鑫伟的分享,主要介绍了 Lakehouse 的架构解析与云上实践. 作者简介:陈鑫伟(花名熙康),阿里云开源大数据- ...

  8. 实时数仓入门训练营:基于 Apache Flink + Hologres 的实时推荐系统架构解析

    简介: <实时数仓入门训练营>由阿里云研究员王峰.阿里云资深技术专家金晓军.阿里云高级产品专家刘一鸣等实时计算 Flink 版和 Hologres 的多名技术/产品一线专家齐上阵,合力搭建 ...

  9. 深入HBase架构解析(二)【转】

    转自:http://www.blogjava.net/DLevin/archive/2015/08/22/426950.html 前言 这是<深入HBase架构解析(一)>的续,不多废话, ...

  10. PowerVR 7架构解析

    作为对ARM Mali-T800系列的直接回应,Imagination日前正式发布了新一代移动GPU PowerVR Series7系列,包括高端7XT.低端7XE两个子系列. 下边,我们就细细看看它 ...

最新文章

  1. JNI编译时错误 编码GBK的不可映射字符 解决方法
  2. [转]ToolTip在VC中的使用
  3. 23、Power Query-XML与JSON数据获取
  4. 点击展开 表格_CAD怎么将excel表格的数据导入并且实时更新?
  5. 设计出python_Python: 实际项目中抽象出的小项目设计
  6. 基于鸿蒙Hi3861和华为云平台的烟雾报警器(附源码)
  7. P NP NPC NP hard
  8. TensorFlow(二) 用TensorFlow为线性回归算法实现矩阵分解
  9. 利用DOSBox运行汇编超详细步骤
  10. c语言数组未定义的会默认为什么,C语言之数组
  11. 水果店差别定价策略,水果店的单品定价公式
  12. 技嘉主板+AMD CPU开启CPU虚拟化方法
  13. day16-17-18.对象序列化和反序列化、API获取数据、python操作Excel/CSV文件、类、面向对象编程(初级及进阶)、继承
  14. 多旋翼无人机技术发展浅析
  15. android 自动加微信群,如何完美实现微信自动发朋友圈自动添加好友等等
  16. mybatis源码过程学习梳理
  17. 如何在 GitHub 上高效阅读源码?
  18. AFO(Maybe)总结
  19. linux修改二进制文件
  20. 网络安全(知识点总结分类)

热门文章

  1. Nginx+Tomcat web站(Linux)   动静站分离
  2. FTP、TFTP、NFS、SSH介绍及在 Ubuntu 上的安装配置
  3. CentOS yum 一次性安装所需要的依赖库。
  4. 《项目百态》读感系列”苏式风格“
  5. SaaS应用出路何在?
  6. oci8 php,PHP_试用php中oci8扩展,给大家分享个php操作Oracle的操 - phpStudy
  7. opencv多摄像头配准_CV 两幅图像配准
  8. 大学生python心得1000字_大学生读书心得1000字3篇
  9. k8s pod部署到不同node_应用部署演进(二)
  10. 云服务器磁盘扩容后不显示,腾讯云服务器磁盘扩容问题小记