1, 对Magento的看法
-
看作是各个独立的个体共同作用,共同配合的整体,不要把页面独立来看
-
以
Magento的首页为例,从PHP代码的角度来看,它的生成过程并不像我们所想的那样, 先是 include 页头, 再 include
内容,最后是include页脚... 首页是由一个预先设置好的 xml layout 文件定义出来的。这里面就包含了
页头,页脚和主要内容的定义。
-
以
Magento的首页为例,从PHP代码的角度来看,它的生成过程并不像我们所想的那样, 先是 include 页头, 再 include
内容,最后是include页脚... 首页是由一个预先设置好的 xml layout 文件定义出来的。这里面就包含了
页头,页脚和主要内容的定义。
-
像搭建楼房一样,先做框架结构,再添砖加瓦
-
magento
的全部是由一个个相对独立的模块来构成的,每一个模块都有它自己本身的业务逻辑和模板表现。这些模块所能控制往往是属于它自己的那部分内容。像
customer模块就用来控制和用户帐号相关方面的逻辑; catalog模块用来控制产品分类,产品库存相关的方面的信息。layout
xml文件可以把不同模块的内容整合到同一个页面中来。 layout xml
就像大厦钢筋水泥框架,而各个模块所生成的内容块就像是这个框架里面填充的内容。
2,框架结构?
- 怎样去确定页面结构?
- 以ebay.com的首页为例子。页头是一些静态连接和搜索框,设计者的意思是每页都包含类似的内容,页脚的内容是关于我们,联系我们,选择语言等的内容,也有每页都包含这样的内容的意思。中间部分的内容是展示商品分类,广告和热卖商家等。。。这些内容在不同的页面会有所不同
先把整个页面的结构分为上中下三个大框架,然后再在每个框架里面增加内容 显然可以把页面分为上中下三部分。页头页脚的内容在每一个页面基本不变,变化的是中间部分的内容。 这样通过分析内容的安排情况,便能把页面的框架建立起来。 草图是这样的:用户打开网站的每一个页面,都能看到上中下三部分内容。 其中最上面和最下面的内容基本不变,中间部分的内容根据页面的不同有所变化
3, Magento 的框架结构,页面结构的实现
上面的是magento的phtml模板文件,在这里可以看到,加粗的绿色部分代码把上中下三部分的内容放在不同的标签里面,体现了页面的结构。至于每一部分的内容具体是什么,就由不同的模块和对应的xml定义来生成, 这些定义可以在layout 的xml文件那里找到。
4, 往框架的某一部分添加内容
把页面看作是各个模块共同作用,共同配合的整体,不要把页面独立来看
Magento是一个整体,就拿首页HEADER的内容来看, 上面内容的生成就分别由不同的模块来决定
相关的layout文件:
layout/customer.xml
layout/checkout.xml
layout/catalog.xml
上面的customer.xml这个文件,绿色的 标签定义了top.links里面的其中一个连接: My Account. 在这里定义之后,magento 就知道在 top.links 这个内容块里面加一个My Account的连接。这里要说明的一个问题是, 不同的模块向同一个内容块加入自己的内容。checkout 和 catalog模块也在自己的xml文件里面引用 top.links这个块,然后声明自己的内容连接
5, 程序与美工的配合
程序需要熟悉magento的layout结构和内容安排
参考magento原始的css和xml结构是最有效的办法
- 美工设计界面,图片形式。
-
程序按照页面/图片的结构,调整layout(xml文件)模板(phtml文件),达到与美工设计的页面结构一致。
Magento已经有各个对应块的内容,像产品列表,导航栏,logo,页脚内容 ...程序把这些内容按结构移到合理的位置即可。 - 美工按照程序出来的页面结构,调整 css(local.css)文件达到所需要的效果。
6, Magento 主题的层次结构和文件的回调
适合范围:CEv1.4+, EEv1.8+
Base 包
这个文件夹下面包含了生成magento页面的最少的必要元素,你在设计自己的主题时不需要更改这里面的任何东西。你自己新建的文件也不要放在这个base文件夹下面。
文件的回调处理
当在你新建的设计包里面找不到相应的文件时,magento会一步步地向着base往回走,直到找到需要调用的文件为止。
修改文件内容
全局查找时也可以按这个顺序。
若文件找不到,则查看是否为后台的静态Block所生成的内容7, Magento 主要的25个页面
检查css样式的时候以这些页面为参考,以防遗漏