ECMall模板制作
ecmall

大体的工作计划。
一、创建后台的编辑链接,以便可视化编辑网页。
二、添加导入自定义CSS功能,以便与首页不同。
三、可视化编辑我们需要的页面。
四、在导航栏加上我们的刚做的页面。
具体开始:
因为很多是上一节的内容,不再具体讲已经讲过的内容。
Admin/app/template.app.php 309 行附近,function _get_editable_pages()里面再加上'adult'=>SITE_URL.'/index.php?act=adult'在languages\sc-utf-8\admin\ng.php 里面加上'adult'=>'成人',接着打开app\default.app.php 在里面加一个方法我这里取名为adult是因为我想弄一个成人频道,代码如下。
functionadult(){
$this->assign('icp_number',Conf::get('icp_number'));
/* 热门搜素 */
$this->assign('hot_keywords',$this->_get_hot_keywords());
的,就会按最后的效果显示。附件里有我从朋友
拿下来的效果,好了,现在基本完工了,我们来可视化编辑我们的另一个页面。你想弄成什么样就弄成什么样喽。
接下来我们要去添加一个导航。添加一个自定义的导航网址处填写“网址”+index.php?act=adult即可。如果在本地测试的朋友添加网址//localhost/…这样的网址是它提示我们不是正确的网址。那我们去admin/templages/navigation.form.html找到
ECMall模板解析语法与机制

ECMall模板解析语法与机制2011-05-22/architecture/archt_T emplateSyntaxAndAnalysis.php在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词就是标签名。
在标签单元中单词前含"$"(美元符)的为变量名。
资源引用res标签∙功能:返回当前模板当前风格目录的url路径∙实例:{res file=css/ecmall.css}这个标签在模板编译后将变成http://商城域名/themes/default/styles/default,注意末尾没有"/",返回结果会随后台设置的主题变化lib标签∙功能:返回javascript库的url路径∙实例:{lib file=ecmall.js}这个标签在模板编译后将变成http://商城域名/includes/libraries/javascript,注意末尾没有"/",返回结果不会随后台设置的主题变化url标签∙功能:url解析器,可根据后台伪静态状态返回相应url等。
∙说明:如果一个链接的目标页面需要伪静态功能,请使用该url标签,只有当后台开启伪静态并在.htaccess文件为目标页面设置了伪静态规则时url标签才能解析为静态url地址。
∙实例:{url app=goods&id=$goods_id}解析后如果伪静态成功则返回"goods/19"include标签:include 标签用于在当前模板中包含其它模板。
当前模板中的变量在被包含的模板中可用。
必须指定file 属性,该属性指明模板资源的位置。
实例:1 {includefile="header.html"}2 {* body of template goes here *}3 {includefile="footer.html"}模板变量1. 模板保留变量模板预置的一些系统变量,包括∙$smarty.now 当前时刻对应的格林尼治时间戳,可以用{$sm arty.now|date}显示当前日期时间,关于date变量调节器请看下文讲解。
ecmall开发记录

ecmall开发记录(一)ecmall是一个开源的C2C网上商城系统,但是它的功能还比较不完善,ShopEx把它从康盛收购过来以后好像也有打入冷宫的意思。
不过免费的有的用就不错了,程序员的座右铭就是自己动手,丰衣足食。
我是学.NET出身,对PHP只是略知一二,无奈公司只有我一个技术,我只能自己慢慢研究啦。
首先就是打开index.php,我对php项目的第一印象就是一大堆include和require,这个无可厚非,就像我们用using一样。
然后我看到了ECMall的startup方法。
/* 启动ECMall */ECMall::startup(array('default_app' => 'default','default_act' => 'index','app_root' => ROOT_PATH . '/app','external_libs' => array(ROOT_PATH . '/includes/global.lib.php',ROOT_PATH . '/includes/libraries/time.lib.php',ROOT_PATH . '/includes/ecapp.base.php',ROOT_PATH . '/includes/plugin.base.php',ROOT_PATH . '/app/frontend.base.php',ROOT_PATH . '/includes/subdomain.inc.php',),));如此一来便知道ECMall应该是MVC设计的了。
在/app目录下的每一个*.app.php文件就是每一个控制器。
elsarticle模板使用技巧

elsarticle模板使用技巧
elsarticle是一种用于创建高质量文章的模板,具有简洁、清晰的布局和易于使用的样式。
下面是一些使用elsarticle模板的技巧:
1. 选择适当的模板:elsarticle模板有多种选择,包括标准模板、特定行业模板和特定主题模板。
选择适当的模板将有助于确保文章符合特定的格式和风格。
2. 自定义样式:可以手动更改模板的样式,包括字体、颜色、间距、标题格式等。
还可以添加自己的样式,以使文章更具个性。
3. 使用elsarticle插件:elsarticle插件可以帮助更好地使用模板。
这些插件提供了更多的功能和选项,例如添加图表、参考文献、图片等。
4. 调整布局:可以通过更改模板的布局来更好地适应文章的格式和需求。
例如,可以更改标题和段落的对齐方式、更改字体大小和颜色等。
5. 修改模板标题:可以在模板中添加或删除标题,以适应文章的标题或主题。
还可以更改标题的格式和文本颜色,以使文章更具吸引力。
6. 使用elsarticle样式库:elsarticle样式库是一个包含许多模板和样式的在线资源。
可以使用这个资源来获取更多的样式和模板,以帮助创建高质量的文章。
7. 优化文章:在创建文章之前,使用elsarticle模板可以帮助优化文章的
外观和格式。
通过更改模板的样式和添加自己的样式,可以更好地创建具有吸引力和高质量的文章。
使用elsarticle模板可以节省时间和精力,以创建高质量的文章。
通过自定义样式、使用elsarticle插件和优化文章,可以更轻松地创建专业和有吸引力的文章。
7 ECmall模板说明

ECmall模板说明\themes\mall\resource\ 商城页面所在目录avatar.html 用户头像breadcrumbs.html 当前位置custom_module.html 首页自定义模块cycleimage.html Flash 轮播goods_category.html 首页的分类树goods_filter.html 商品筛选器模板goods_list.html 商品列表模板group_buy.html 首页及商品列表页面团购部分模板groupbuy_list.html 团购列表模板help_center.html 帮助文章页面latest_site_news.html 首页快讯模块latest_sold.html 首页最近成交latest_wanted.html 首页最近的求购mc_address.html 用户中心,地址页mc_credit.html 用户中心,信誉评价mc_favorite.html 用户中心,收藏夹mc_getpwd.html 用户中心,修改邮件地址mc_home.html 用户中心,欢迎页mc_login.html 登陆页面mc_menu.html 用户中心,左侧菜单mc_message.html 用户中心,我的留言mc_order_detail.html 用户中心,订单详情mc_order_view.html 用户中心,订单列表mc_post_wanted.html 用户中心,求购mc_profile.html 用户中心,个人资料mc_register.html 注册mc_repwd.html 用户中心,修改密码mc_storeapply.html 店铺申请页面mc_wanted_view.html 求购列表message.html 报错信息页面message_list.html 店铺中留言列表no_goods_module.html 首页及商品列表页面团购部分模板page_footer.html 商城页脚page_header.html 商城页首partner.html 友情链接recommended_brand.html 推荐品牌recommended_goods.html 推荐商品recommended_store.html 推荐店铺search_form.html 搜索栏shipping_payment_contents.html 支付配送页面shopping_cart_form.html 购物车shopping_order_pay.html 支付页面shopping_order_review.html 订单确认页面shopping_page_header.html 购物流程shopping_pay_form.html 支付完成site_news.html 快讯文章store_breadcrumbs.html 当前位置store_footer.html 店铺页脚store_header.html 店铺页首store_list.html 店铺列表store_search_form.html 店铺搜索wanted_detail.html 求购详情页面wanted_filter.html 求购搜索模块wanted_list.html 求购列表wanted_my_other.html 其他求购模块wanted_userinfo.html 求购中的用户头像-------------------------------------------------themes\store\resource\ 店铺页面所在目录act_detail.html 团购模块avatar.html 店主头像credit.html 店铺信用custom_module.html 自定义商品模块goods_bought_history.html 购买历史模块goods_category.html 分类模块goods_comment.html 商品留言模块goods_compatible.html 适配商品模块goods_detail.html 商品详细描述goods_info.html 商品信息goods_list.html 商品列表goods_similar.html 详细商品模块groupbuy_info.html 团购商品信息groupbuy_join.html 参加团购页面groupbuy_log.html 已参加团购的用户guestbook.html 店铺留言introduction.html 店铺简介notice.html 店铺通知partner.html 店铺友情链接store_article.html 团购活动模块store_category.html 店铺分类store_group_goods.html 店铺团购商品store_new_goods.html 新品模块store_recommended_goods.html 推荐商品store_title.html 店铺横幅tag_relative.html 标签模块userinfo.html 店主信息。
ecmall使用手册

将upload下的所有文件夹用FTP工具上传到您的网站空间,如果您需要整合UCenter,则需要将intergrate目录和uc_client目录上传到您网站空间根目录下,如果您需要安装初始化测试数据,则需要将initdata上传到网站空间根目录下。
修改权限
将上传的data目录和temp及external/widgets目录属性设为777,windows主机用户设为来宾帐户可读可写可修改即可。
上传之后,广告图片就会显示在这里了。公告栏里面的公告是在后台添加的,由于我们在这里添加了测试数据,因此会有公告显示,不装测试数据的话是没有的。公告文章的添加会在后面讲到。
接下来添加品牌挂件,点击挂件列表中的品牌区,会出现品牌挂件,放在了默认挂件位置,这里同样是由于安装了测试数据因此有品牌数据,如果没有安装的话品牌列表是空的。
商品分类
商品分类可以实现对商品的分类管理,商品分类如图:
通过商城后台→商品→分类管理可以对商品进行分类管理,同店铺分类一样,商品分类也是管理,新增,导出,导入四个部分,操作与上面雷同,不再详述。
如果分类较多,也可以导入一个CSV文件来批量添加分类,商品分类的CSV文件可以到ECMall论坛上去下载,下载地址:
一级菜单和二级菜单的介绍如上图所示,本文以后对菜单的操作将直接用商城后台→一级菜单→二级菜单,这样的方式来介绍菜单操作。
在进入商城后台后,首先要对商城做一些必要设置来保证商城可以运作,首先就是要安装支付方式。
启用支付方式
启用支付方式是商城设置中最基本的一项工作,如果没有安装支付方式店铺就无法发布商品。启用支付方式很简单,我们通过商城后台→设置→支付方式,右边会出现支付方式列表,如图:
2019年ECMALL模板文件列表

ECMall beta1模板文件列表模板文件列表\themes\mall\default\ 商城默认模板文件所在目录------------------------------------------------------------------------------------------------------------------------申请开店页文章分类列表页(包括商城公告、商城公告及其他自建分类)文章详情页买家取消订单页买家确认收货页买家给卖家评价页买家订单列表页买家订单详情页购物车为空购物车列表页处理支付信息页选择支付方式页商品分类页店铺分类页导出数据(商品、商品分类、店铺分类、地区)页导入数据(商品、商品分类、店铺分类、地区)页当前位置商城页脚添加好友页好友列表页商城、用户中心页头商城首页登录页用户中心修改Email页用户中心页头用户中心首页用户中心左侧导航菜单用户中心底部分页导航用户中心顶部分页导航修改密码页修改个人资料用户注册页用户中心右侧顶部菜单短消息收件箱、发件箱页提示信息页短消息发送页查看短消息页新增、编辑我的地址页我的地址列表页新增、修改商品分类页商品分类列表页商品收藏列表页店铺收藏夹列表页商品批量编辑页新增、编辑商品页商品列表页新增、编辑导航页导航列表页新增、编辑合作伙伴页合作伙伴列表页新增、编辑支付方式页支付方式列表页新增、编辑配送方式页配送方式列表页店铺设置页店铺主题设置填写订单页填写订单页配送信息填写订单页商品信息商城底部分页导航商城顶部分页导航文章列表页顶部分页导航支付成功通知页商品搜索列表页店铺搜索列表页卖家订单费用调整页卖家取消订单页卖家确认订单页(货到付款交易)卖家完成订单页卖家订单列表卖家确认收到货款卖家发货页卖家订单详情页\themes\store\default\ 店铺默认模板文件所在目录------------------------------------------------------------------------------------------------------------------------店铺信用评价页及商品详情页评价店铺页脚商品评价页商品详情页商品详情页销售记录商品详情页商品信息店铺页头店铺左侧店铺底部分页导航销售记录页店铺导航文章页店铺信用评价页店铺首页商品列表页。
ECMall模块开发指南

ECMall2.0模块开发指南Copyright©shop 本文档面向程序开发者及爱好者文档历史日期版本作者描述2009/8/19 1.0Garbin Huang创建文档前言本文档主要面向有一定程序基础的开发人员和技术爱好者,旨在帮助其快速入门ECMall V2.0的模块开发。
通过阅读本文档,您还可以了解到模块的开发规范,快速地制作出符合规范的模块。
阅读本文档需要您具备一定的PHP编程基础,特别是面向对象的编程知识,如“类”,“对象”,“派生”等概念,并且需要您对ECMall2.0的系统结构,Smarty模板的使用有一定的了解。
目录前言 (2)目录 (3)1.模块的定义 (4)1.1.什么是模块 (4)1.2.模块的意义 (4)1.3.模块的适用范围 (4)2.模块的基本构成 (4)2.1.模块的文件构成 (4)2.2.模块的代码构成 (5)3.模块实例分析 (5)3.1.创建一个模块 (5)3.2.实现主体代码 (6)3.3.实现安装和卸载 (9)3.4.使用和调试 (10)4.发布和分享 (10)1.模块的定义1.1.什么是模块模块是一个在代码层面独立于主体程序的程序代码,其为主体程序提供额外的功能补充,其拥有独立的前后台控制器,模板,语言包,安装,卸载程序,其是一个建立在主体程序平台上的应用。
如果ECMall是一个操作系统,那么模块就相当于运行在这个操作系统上的第三方应用,如“迅雷”,“QQ”等。
1.2.模块的意义使用模块有利于您独立新增的功能代码的管理维护和分享,并且有利于您对您系统中各功能模块的管理(比如您可以随时方便地开启和关闭功能模块),更重要的是使用模块可以帮助您在不对主体程序进行任何修改的情况下完成一个相对复杂的相对独立的新功能(如果结合插件和挂件,您将可以完成更加复杂的功能模块,不再受相对独立的限制)。
1.3.模块的适用范围相对独立的功能比较适合使用模块来实现,但不限于此,在配合插件和挂件的情况下,您完全可以制作出与系统其他功能紧密相连的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ECMall2.x模板制作入门系列之1(认识ECMall模板)从ECMall2.0全新架构发布以来,随着版本的不断更新,ECMall已经逐渐走向一个稳定时期,是时候整理一些实用教程了。
下面给大家带来一个模板制作入门教程。
申明:本人第一次写教程。
可能只能说一些比较浅显的基础知识。
条理性可能不是很到位,说得不对的地方欢迎拍砖并指正,目的是希望通过这次教程能让新手们对模板有一个比较系统的认识。
一.ECMall的模板文件在网站中怎么分布的。
怎么找到一个页面所对应的模板theme/ 主题目录商城模板theme/mall/ 包含所有商城模板,里面的每个目录即为一套模板theme/mall/default/ 商城默认模板,里面的html文件是模板文件,.php主题信息配置theme/mall/default/styles/ 皮肤目录,里面每一个目录即为一套皮肤theme/mall/default/styles/default/ 默认皮肤目录,.php为皮肤配置信息,screenshot.jpg主题截图,preview.jpg为主题预览图店铺模板theme/store/ 包含所有店铺模板theme/store/default/ 默认店铺模板theme/store/default/styles/ 皮肤目录,里面每一个目录即为一套皮肤theme/store/default/styles/default/ 默认皮肤目录,.php为皮肤配置信息,screenshot.jpg主题截图,preview.jpg为主题预览图引用:与模板相关的几个概念1.主题严格意义上来讲,大家在论坛里常说的一套模板,在ECMall2中被定义为一个主题。
一个主题是一套模板和一套皮肤的组合,这可能跟其他某些开源产品有所区别。
一套模板可以对应多套皮肤从而形成多个主题。
比如默认模板+粉红皮肤= 默认粉红主题,默认模板+淡蓝皮肤=默认淡蓝主题,这样就能在网站后台(设置->主题设置)看到这两个主题。
模板和皮肤的概念我接着往下说。
2.模板、皮肤模板负责决定页面中都由哪些数据、信息构成。
从网页制作角度来看。
模板就是一系列HTML网页文件构成。
皮肤负责决定页面中的数据、信息如何展示给用户。
皮肤就包含图片、层叠样式表CSS、JAVASCRIPT等。
如何找到当前页面对应的模板文件引用:强烈建议不要修改默认模板,否则以后升级会很麻烦。
如果要修改我们可以新建一套,然后在后台启用新主题在制作模板前先掌握摸清模板的藏身之处是很得力的,知己知彼百战不殆,废话少说了,动真格的,举例给大家说明。
例一:分析注册页面对应哪些模板文件通过首页点注册进入注册页面,发现地址栏的地址为(需要关闭伪静态功能):引用:/demo/index.php?app=member&act=register&ret_url=前面的/demo/是网站访问的路径这个不用多说,这里的index.php就是网站根目录那个index.php文件,这个是php程序文件,在ECMall 中是系统入口文件,所有前台页面必须通过这个入口进行访问(当然后台也有入口admin/index.php)我们分析模板要看的是app和act两个参数:这里的是app=member和act=register。
这里的app、act代表什么含义呢?app是英文单词application的缩写,意思是“应用”,那么这里我们访问的就是一个叫member(意为会员)的应用act是英文单词action的缩写,意为“行为”,那么这里我们访问的就是member应用的register行为引用:插播广告通常情况下如果地址栏没有app,那么app默认为default如果地址栏没有act,那么act默认为indexapp是放到app目录下的。
进去之后发现有个member.app.php,这个文件就是我们要找的注册页面对应的app文件。
打开member.app.php,文件里面是php程序代码,通过搜索“function register”我们就找到了register act即会员应用的注册行为。
这里function register开始是定义函数的代码,我们需要找到结束位置。
我们在这个函数内就能找到这段代码引用:$this->display('member.register.html');这里单引号中间的“member.register.html”就是模板文件名了。
ps:可能同学们很多不是做程序的,如果你很难判断这个function register函数代码哪里是结束,可以借助有折叠功能的编辑器。
现在我们得知了模板文件名。
那么这个文件在哪里呢?有了上头对模板分布的基础认识,可以下结论其实可能性就两个,themes/mall/default(默认商城模板目录)或themes/store/default(默认店铺模板目录)。
到了这一步,其实很简单了。
我们可以根据页面的含义来找。
这里的注册行为是商城的功能,所有当然在商城模板目录。
这样模板位置我们算是找到了,很简单吧,先喝口茶,休息下再继续。
让我们来看看这个member.register.html的庐山真面目。
打开后我们看到了大部分模板都有的这样的结构复制内容到剪贴板代码:{include file="header.html"}......{include file="footer.html"}首尾都有{include file="xxx"}这样的模板标签,这代表这个模板含有嵌套模板,我们当前的这个模板嵌套了两个模板header.html和footer.html,他们的位置与member.register.html 同级目录的。
到目前为止已经教给大家一种比较通用的找模板的方法。
通过这种方法你可以应付大部分情况了。
希望大家通过这个教程能对ECMall模板有个全局的认识。
强烈建议经常问“这个页面的模板在哪里”的同学认真看看。
二.如何新建一套商城主题。
第一步:复制默认主题进入theme/mall/目录,找到default目录复制一个复件,重命名,起一个我们想要的名字“mytheme”第二步:修改主题配置修改程序文件需要程序编辑器,这里给大家推荐本人一直使用的editplus编辑器,比较小巧而且灰常靠谱。
放出个可用的地址/info/37178.aspx下载后,需要进行“去BOM”设置,菜单“工具”-->“首选项”,在设置面板设置为“总是删除签名”如下图:进入刚刚复制的那个文件夹(mytheme)里面,如下图打开.php文件上面这段代码是主题的配置信息,其中version:主题版本,主题作者自行设定版本号author:主题作者description:主题描述。
请自行进行修改,修改好后保存。
如果你的版本是UTF-8的需要在保存时用文件菜单里的“另存为”,选择UTF-8编码,这时弹出的提示是否替换,选择“是”。
第三步:修改预览图和缩略图主题预览图在themes/mall/mytheme/styles/default下这里我们的新主题只有一套默认皮肤,如果再复制styles目录下的default文件夹,重命名为newstyle,这时我们就得到了由一套模板和两套皮肤组成的两套主题了。
这里再次巩固一下上面讲到的ECMall主题的定义。
第四步:启用新主题进入后台“设置”-->“主题设置”,发现我们新建的主题显示出来了点击“应用”后。
即可切换到我们自己的主题了。
ECMall2.x模板制作入门系列之2(模标签/语板法)今天给大家带来一个模板语法的教程。
希望能为ECMall模板制作者提供一份参考资料。
如有问题、建议和意见,欢迎提出。
在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词就是标签名。
在标签单元中单词前含"$"(美元符)的为变量名。
一、资源引用res标签∙功能:返回当前模板当前风格目录的url路径∙实例:{res file=css/ecmall.css}这个标签在模板编译后将变成http://商城域名/themes/default/styles/default,注意末尾没有"/",返回结果会随后台设置的主题变化lib标签∙功能:返回javascript库的url路径∙实例:{lib file=ecmall.js}这个标签在模板编译后将变成http://商城域名/includes/libraries/javascript,注意末尾没有"/",返回结果不会随后台设置的主题变化url标签∙功能:url解析器,可根据后台伪静态状态返回相应url等。
∙说明:如果一个链接的目标页面需要伪静态功能,请使用该url标签,只有当后台开启伪静态并在.htaccess文件为目标页面设置了伪静态规则时url标签才能解析为静态url地址。
∙实例:{url app=goods&id=$goods_id}解析后如果伪静态成功则返回"goods/19"include标签∙功能:Include 标签用于在当前模板中包含其它模板. 当前模板中的变量在被包含的模板中可用. 必须指定file 属性,该属性指明模板资源的位置.实例:模板代码:{include file="header.html"}{* body of template goes here *}{include file="footer.html"}二、模板变量1.模板保留变量模板预置的一些系统变量,包括$smarty.now 当前时刻对应的格林尼治时间戳,可以用{$smarty.now|date}显示当前日期时间,关于date变量调节器请看下文讲解。
$smarty.get$smarty.post $smarty.cookie $smarty.env$smarty.server $smarty.request$smarty.session同php的$_GET、$_POST、$_COOKIE、$_ENV、$_SEVER、$_REQUEST、$_SESSION变量。
非程序人员如果需要了解请参考php相关手册了解2.自定义变量∙从php赋值变量:例如在调用该模板的app程序文件中进行赋值复制内容到剪贴板代码://在app/default.app.php文件的index方法中$this->display前添加赋值语句$this->assign('name', 'Tom'); //普通变量$this->assign('user', array('name' => 'Tom','age' => '28')); //数组变量$this->display('index.html');在themes/mall/default/index.html中显示变量模板代码:Hello,{$name},your age are {$user.age}!∙在模板中赋值变量:assign标签例在themes/mall/default/index.html中赋值变量模板代码:{assign var="name" value="Tom"}Hello,{$firstname}!3.模板上使用语言项∙说明:为了满足多语言需求,ECMall采用了语言包机制,除挂件外,在模板、js文件中均使用语言项代替直接显示语言文字。