您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > ECMall模板制作教程
ECMall模板制作教程前言欢迎阅读ECMall模板制作教程,通过阅读本教程可快速上手ECMall模板的使用和制作。ECMall模板制作要求用户具备XML、XHTML和CSS基础知识;至少掌握一种文本编辑器或网页制作工具(如:EditPlus,Dreamweaver,Textmate等);本教程还将及一些模板代码,如从没有了解过Smarty建议阅读Smarty帮助手册。第一节-ECMall模板机制介绍通过阅读本节你将了解:1.ECMall模板的组成和机构2.ECMall模板机制工作原理ECMall页面模板由布局(layout)、模块(module)、皮肤(skin)组成,所有模板文件都保存在ECMall根目录的themes目录下,其中两个目录mall和store,mall目录包含了商城的所有布局、模块、皮肤,store目录包含了店铺所有布局、模块、皮肤,两个目录的结构是完全一样。下面首先介绍mall目录下的结构。mall目录包括layout、resource、skin三个目录,其用途分别为:Layout目录-用于存放layout文件。layout目录下的每个子目录里存放的是某一个页面的layout文件(layout目录介绍请见附表1),如homepage目录就是商城首页的布局目录,里面有一个default.layout文件这就是商城首页的布局文件,在这个目录里可以存在多个布局文件,布局文件是一个标准的XML文档,你只需要写简单的几个标签(以下称为布局描述语言)描述整个页面的布局架构,在以后的章节会详细介绍布局文件的制作方法。resource目录-用于存放内容模块文件。模块是由布局文件调用的,内容是HTML或模板代码组成,在以后的章节会详细介绍模块制作方法。skin目录-存放皮肤,目录中每个目录对应一个skin,如default是ECMall默认皮肤,其中包括了CSS文件,和图片以及JS文件,在以后的章节会详细介绍皮肤制作方法。ECMall的每一个页面的模板都包含以上介绍的元素,原理是模板引擎将布局文件中的布局描述语言解析,将文件中描述的页面布局和模块部署位置输出一个标准的XHTML文档。第二节-布局文件制作方法通过阅读本届你将了解:1.ECMall模板布局描述语言的标签2.ECMall模板布局描述制作方法上节简单的介绍了布局文件,本节将详细介绍布局文件的制作方法。布局文件的内容是布局描述语言,布局描述语言是基于XML的,XML是一种标记语言,ECMall定义了4个简单的标签row、col、library、item,你只需要使用这四个简单的标签就能描述一个自己想要页面:row标签-标记一行,支持的属性包括id、class、allowEditcol标签-标记一列,支持的属性包括id、class、allowEditlibray标签-标记的是一个模块容器item标签-标记的是一个模块,支持的属性包括id和src。下面介绍如何制作ECMALL的布局文件?xmlversion=1.0?templaterowid=region1allowEdit=falselibraryitemid=headersrc=themes/mall/resource/page_header.html/itemid=search_formsrc=themes/mall/resource/search_form.html//library/rowrowid=mc_homecolid=region2class=column1libraryitemid=mc_menusrc=themes/mall/resource/mc_menu.html//library/colcolid=region3class=column2libraryitemid=mc_homesrc=themes/mall/resource/mc_home.html//library/col/rowrowid=footerallowEdit=falselibraryitemid=page_footersrc=themes/mall/resource/page_footer.html//library/row/template以上是会员中心首页的布局文件的内容,该文件在根目录的themes/mall/layout/mc_home/default.layout,所描述的布局如下图:代码的第一行“?xmlversion=1.0?”声明文档是一个XML文档。后面template.../template是根节点,XML文档标准是必须存在一个根节点的,template节点的子节点就是上面介绍的4个标签,用于描述页面布局,这个页面分为上中下三行,中部分为两列。第一行代码rowid=region1allowEdit=falselibraryitemid=headersrc=themes/mall/resource/page_header.html/itemid=search_formsrc=themes/mall/resource/search_form.html//library/row这段代码用row标签标记一行,定义了一个ID为region1,这里需要注意下每个标签都应该有一个唯一ID,不能和其他标签的ID冲突,一旦冲突页面可能会无法正常显示,这里还定义了allowEdit属性为false,这表示这个标签下的模块,在模板编辑模式下是无法拖拽的,其他模块也无法拖放到这里。这个标签下调用了两个模块,所以必须有一个模块的容器标签“library/library”,“itemid=headersrc=themes/mall/resource/page_header.html/”标记了调用一个模块,这里ID属性必须和src属性对应的模块文件中顶级元素ID相同,src是模块的相对路径。第二行代码:rowid=mc_homecolid=region2class=column1libraryitemid=mc_menusrc=themes/mall/resource/mc_menu.html//library/colcolid=region3class=column2libraryitemid=mc_homesrc=themes/mall/resource/mc_home.html//library/col/row这一行分为两列,在row标签里我们定义了两列,第一列的ID为region2,第二列的ID为region3,这两列分别调用了一个模块,这和第一行讲解的是一样,这里需要注意的是row标签可以包含多个col、row标签,也可以包含一个library标签,但不能同时包含不同的标签,比如:1.rowid=mc_homecolid=region1/colrowid=region2/row/row2.rowid=mc_homecolid=region1/collibrary................/library/row上面的两段代码都是错误的,col标签可以包含row标签但不能再包含col标签,col标签也不能同时包含row和library,比如colid=col1rowid=region1/library................/library/col这样也是错误的。最后讲解布局第三行的代码:rowid=footerallowEdit=falselibraryitemid=page_footersrc=themes/mall/resource/page_footer.html//library/row这一行和第一行的代码几乎相同,只是调用的模块不同而已,allowEdit为false禁止编辑这一行。第三节-模块文件制作方法ECMall的模板机制中所有的内容都是在模块中来实现的,上一节中讲的布局文件仅仅是用于页面布局的描述,其中没有任何页面内容,ECMall的模块主要由HTML代码和模板语句,模板语句是兼容smarty的语法的。在后台模板管理用户可以可视化编辑页面的内容,任意拖拽模块,所以模块必须要按照ECMall模块规范制作,商城的模块文件存放在根目录的themes/mall/resource,店铺的模块文件存放在根目录的themes/store/resource,下面举例讲解下themes/mall/resource/site_news.html文件的内容,这个模块是站内快讯的模块。divid=site_news_contentclass=colbox!--{if$article_list}--divclass=colboxcontentulclass=articles_list!--{foreachfrom=$article_list.dataitem=article}ндуб--lispanclass=time({$article.formated_add_time})/spanahref={urlsrc=index.php?app=article&act=site_news&id=$article.article_id}{$article.title|escape}/a/li!--{/foreach}--/uldivclass=pagechanger{page_linksfrom=$article_list.infourl=$url_format}/div/divdivclass=colbtm/div!--{else}--divclass=colboxcontentformat_article{$article.content}/div!--{/if}--/div这里面有一个div,id为site_news_content,这里需要注意的是每个模块的ID必须是唯一的,不能和其他模块重命名,每个模块文件里面只能有一个根元素,如果存在一个以上根元素就无法正常操作了,如一下代码:divid=site_news_contentclass=colbox!--省略的代码--/divdivid=site_news_content2class=colbox!--省略的代码--/div如果一个模块文件的内容是这样,存在两个根元素就是错误的。第四节:皮肤文件制作方法皮肤是由CSS和图片组成,商城的皮肤文件位于根目录的themes/mall/skin目录,商城的皮肤文件位于根目录的themes/mall/skin目录,一个皮肤是一个目录,如默认皮肤default,目录里包含多个css文件,下面介绍下每个文件的作用。商城的CSS文件说明文件名作用article.css站内快讯,帮助中心页面的CSS样式文件category.css商城搜索,团购列表,商品分类页面的CSS样式文件global.css整个商城包括店铺的全局CSS文件mall.css商城首页的CSS文件mallbase.css商城全局CSS文件member.css用户中心页面CSS文件shopping.css购物流程页面的CSS文件storelist.css店铺列表页面的CSS文件店铺的CSS文件说明文件名作用goods.css团购商品,商品页面的CSS文件storebase.css店铺页面的CSS文件在CSS可以定义对应的页面的样式,皮肤也可以添加Javascript,你只需要在皮肤目录里的JS目录添加你的js文件,比如一个demo.js,文件名后缀必须是.js。为了减少HTTP请求和节省流量,EMall会将页面需要的css打
本文标题:ECMall模板制作教程
链接地址:https://www.777doc.com/doc-2871555 .html