搜档网
当前位置:搜档网 › ECSHOP如何解决Deprecated preg_replace()报错

ECSHOP如何解决Deprecated preg_replace()报错

ECSHOP如何解决Deprecated preg_replace()报错

ECSHOP如何解决Deprecated: preg_replace()报错

秦皇岛商之翼旗下ECSHOP开发中心(https://www.sodocs.net/doc/4711356675.html,)

随着PHP5.5 的普及,ECSHOP系统又爆出了新的错误。PHP发展到PHP5.5版本以后,有了很多细微的变化。而ECSHOP官方更新又太慢,发现这些问题后也不及时升级,导致用户安装使用过程中错误百出。说了半天,这个新错误到底是什么呢,它的完整错误提示信息是这样的:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in.......

注意:不是所有人的ECSHOP都会报这个错误,只有使用PHP5.5环境的ECSHOP 才会报这个错误。

错误产生的原因:

1)、错误原因:

preg_replace() 函数中用到的修饰符/e 在PHP5.5.x 中已经被弃用了。

如果你的PHP版本恰好是PHP5.5.X,那你的ECSHOP肯定就会报类似下面这样的错误:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in......

2)、解决办法:

其实从刚才的错误提示信息中我们也能看出一二,它提示我们使用preg_replace_callback 来代替preg_replace。

所以解决方法如下:

使用记事本或其他PHP编辑软件(如:editplus)打开文件includes/cls_template.php ,找到

return preg_replace("/{([^\}\{\n]*)}/e", "\$this->sel ect('\\1');", $source);

替换为

return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->sel ect($r[1]); }, $source);

问题解决。

3)、如果你的ECSHOP中其他文件也报类似的preg_replace错误,请参照上面方法解决之,解决思路和解决方法是一样的。

【ECSHOP开发中心】

ecshop留言板增加字段说明

ecshop留言板添加一项必填项-联系人 一、首先要为你的数据库的ecs_comment增加一个字段以存储联系人姓名: 可以直接在后台-->数据库管理--->SQL查询里里直接执行以下sql语句: alter table ecs_comment add contact varchar(60) not null default ''; 此处注意,这条sql语句中的表前缀ecs_要和你网站的前缀一致,不然会报错,如果你不知道你ecshop网站的数据表前缀. 二: 步骤1. 更改文件message_board.dwt {$lang.message_board_qq} 复制代码 如果很多朋友发现没有效果那检查下是否成功的加载了js代码 【3】在goods.dwt里面添加如下代码:我们以ecshop2.70 default模板为准其他模板依此类推 1. 2. 3. {$goods.goods_name|escape:html} 4. 5. 6. 7. {$goods.goods_name|escape:html} 8. 9. 复制代码 【4】找到库文件 goods_gallery.lbi 改为如下

ECShop功能介绍

指导老师:黄华 毕业学校:清远职业技术学院

ECShop简介 是Comsenz公司推出的一款B2C独立网店系统,现已出售给ShopEX的开发商上海商派网络科技有限公司。适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。 ECShop悉心听取每一位商家的需求与建议,不仅设计了人性化的网店管理系统帮助商家快速上手,还根据中国人的购物习惯改进了购物流程,实现更好的用户购物体验。 经过近两年的发展,ECShop网店系统无论在产品功能、稳定性、执行效率、负载能力、安全性和SEO支持(搜索引擎优化)等方面都居国内同类产品领先地位,成为国内最流行的购物系统之一。 ECShop功能介绍 1. 灵活的模版机制 ECShop开发了独有的高效模板引擎(2.15以前版本使用smarty模板引擎),并结合了Dreamweaver的模板和库功能,使得编辑制作模板变得更简单。 2. 开放的插件机制 支付、配送,会员整合都是以插件形式实现。商家可以随时增加或变更的支付方式和配送体系。ecshop支持大部分php开发的论坛系统,包括discuz,phpwind 等,只需在后台做简单参数配置,即可完成会员整合。 3. 功能 AJAX 化 ECSHOP 使用目前流行的 AJAX 技术,批量数据编辑变得更迅速,方便。 4. 促销功能 ECSHOP提供了积分、红包、赠品,夺宝奇兵等多种促销方法。 5. 高效率的代码和执行性能 通过优化代码与数据库结构,配合ecshop独家设计的缓存机制,在不考虑网速的情况下,网店动态页面与纯静态页面访问速度相当。 6. 常规功能的更完善实现 针对常规功能尤其是后台管理和购物流程,ECShop进行了更简洁的设计,实现更好的用户体验。

ecshop模板结构说明及标签(二次开发使用)

ECSHOP 模板结构说明(适用版本v2.1.5+) 名称类型备注(作用或意义)文件(目录)名可否更改images 目录存放模板图片目录不可更改 library 目录存放模板库文件目录不可更改 screenshot.png 图片用于“后台管理-> 模板管理-> 模板选择”显示 模板缩略图。 不可更改 style.css css样式表不可更改 备注:模板文件共32个(格式:.dwt)。 提醒: 1, 更改模板文件里面库文件的内容是无效的,页面刷新时,程序自动重新载入库文件内容到模板文件里(以库文件内容为准)。 2, 模板内所有id值为ECS_ 开头的都必须保留(和ajax相关)。 3, 非库文件内容不可放置到可编辑区域内,否则设置模板时,非库文件内容将被覆盖删除。 activity.dwt 模板文件活动列表页不可更改 article.dwt 模板文件文章内容页不可更改 article_cat.dwt 模板文件文章列表页不可更改 article_pro.dwt 模板文件文章内容页(如免责声明等) 不可更改 auction.dwt 模板文件拍卖商品详情页不可更改 auction_list.dwt 模板文件拍卖商品页不可更改 brand.dwt 模板文件商品品牌页不可更改 brand_list.dwt 模板文件商品品牌列表页不可更改 catalog.dwt 模板文件所有分类页不可更改 category.dwt 模板文件商品列表页不可更改 compare.dwt 模板文件商品比较页不可更改 flow.dwt 模板文件购物车和购物流程页不可更改 gallery.dwt 模板文件商品相册页不可更改 goods.dwt 模板文件商品详情页不可更改 group_buy_goods.dwt 模板文件团购商品详情页不可更改 group_buy_list.dwt 模板文件团购商品列表页不可更改 index.dwt 模板文件首页不可更改message.dwt 模板文件信息提示页不可更改 message_board.dwt 模板文件留言板页不可更改 myship.dwt 模板文件我的配送页不可更改

ECshop模板制作教程

ECshop模板制作教程 我是一个EC新手,EC就算做再多的模板,肯定也满足不了我们的需要,更何况各行有各行的门道,EC统一做出来的模板也不一定合适于我们这个行业用,因此,只有我们真正掌握了自己做模板,修改模板的功夫,才能真正的打造适合自己的电子商务平台,真正打造符合自己行业内的客户习惯的电子商务平台。 首先欢迎各位浏览本教程,恭喜大家使用 ECshop,!EC有多好,ECshop是PHP 构建的,PHP的应用我也不想多说了(亚马逊:https://www.sodocs.net/doc/4711356675.html,,雅虎:https://www.sodocs.net/doc/4711356675.html,,百度:https://www.sodocs.net/doc/4711356675.html,淘宝:https://www.sodocs.net/doc/4711356675.html,新浪:https://www.sodocs.net/doc/4711356675.html,,腾讯:https://www.sodocs.net/doc/4711356675.html,),(ps: ECshop成功了!在这一刻,他是伟大电子商务的传承,他不是一个人在战斗,他不是一个人 -_-!!! ) 我也不多讲了大家都知道,不过有时候热爱潜水的我真的时是实在忍不住要跳出来说两句. 本教程适用于了解 ECshop 和 ECshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师)。这个教程目前由我一个人维护,但我相信,过不了多久就会有多人持续地维护。其中的内容需要不断地更新。如果您有兴趣参加,嘿嘿,PM我。我们一起为大家服务啊. 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ECshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ECshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! 第一章节: 读取这些内容,您将了解: 每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ECshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的xxxxx就是某一套模板,如系统一般会自带的

最好最实用的PHP二次开发教程

◆二次开发 什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。 为什么要二次开发? 随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或是软件公司。选择和应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息化成本(时间成本及开发成本)的同时,更能带来技术上的保障。这就是我们常听的:站在巨人的肩膀上,你将看的更远。所以国内很多公司需要二次开发的人才。 怎么做二次开发? 第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的。 第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。 第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。 第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求 介绍PHP的开源产品的二次开发的基本要求: 第一,基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javascript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的) 第二,熟悉开源产品的使用,比如 Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能 第三,要熟悉这个开源产品的数据库结构,还要理解里面核心文件的内容,比如:数据库类怎么使用,常用的安全过滤是怎么做的,模板引擎又是怎么使用的等等一些核心内容。还要知道这个开源产品的目录结构,就是说,你要知道哪是放模板的,哪里是做控制的,哪里是放样式的,等等 第四,熟悉你的需求,对需求进行解读,然后确定如何对这个开源产品进行修改和扩展 经过二次开发后,你能获取到的是什么呢? 你能完成你的需求,你能积累经验,这里的经验有你自己的,也有别人的。所谓别人的,就是在你做这个二次开发的时候,你能吸收到这个系统的精华,然后融入到你自己的思想里,你还能总结项目架构的经验。有句话说的好,就是:聪明的人会把别人的失败的经验当作自己的经验,而傻的人就是自己无数次体验失败后才作为自己的经验。 二次开发不仅仅是开发,而更重要的是吸取精华,总结经验,理顺思路,少走弯路,提升自己。 站在巨人的肩膀上,你将看的更远!!!

ECSHOP模板头部修改

今天开始从头部进行修改,头部的话针对的是所有的页面,你可以把头部做成一个公用文件,不过由于调用的JS和一些样式的不同也可以分开来做,如果要做成公共头文件的话,要把所有页面都会调用的JS和CSS加载上,不过东西也不多的,下面我就做成一个公共文件来用。 先讲一下每个页面的关键字:{$keywords},这是使用的smarty模板变量用来输出。“{}”是用来规定标签的开始与结束位置,有些类似于PHP中的“”,原理是一样的,中间的变量$keywords是从后台PHP文件中传输过来的变量,里面存储有值,{$keywords}就是把里面的值进行输出,由于{$keywords}和{$page_title}(页面标题的输出,在title标签间输出)是包含在head标签中的,所以我们可以不用动它们,不必把它们写进公共头文件。在head 标签中还有一个{insert_scripts files=','},它是用来调用JS文件的,如所见,它调用了,两个JS文件,head内的我们都不做为公共头文件,不过一会在公共头文件中我们会用到这个调用JS的方式,把所有要用到的JS文件调用进来。 首先新建一个公共头文件与其它*.dwt文件放一起,在第一行我们调用所有的JS文件:{insert_scripts files=',,auto_,,,,,,shopping_,,,,,'} JS文件很多,但不是每个页面都会用到所有的JS文件,或都有的页面已经在head中调用了一些需要使用的JS文件,有与我们写的JS文件重复的,没有关系,我们只是为了做一个公共文件,不用在每个页面都单独再去调用,有重复不会有任何影响。 下来我们来确定一下的字符集设置: 我使用的是gbk字符集,如果你使用的是utf-8的话,就要把字符集进行相应设置。 下面是一段JS代码: 设置它是为了防止有些页面调用JS页面时出现加载错误而无法正常运行程序。 下面是对LOGO图片的设置:

ECSHOP数据库结构参数表

ECSHOP 数据库结构参数表 序言 本次信息整理只为了从事ECSHOP 二次开发人员方便之举,因此研究ECSHOP 官方数据结构,如若与官方产生冲突,敬请谅解!此版本属于V2.1.15 此信息属于网上一位朋友注释! 表结构分析 ecs_account_log // 用户账目日志表 ecs_activity // 活动表(代码,名称,开始,结束,描述) ecs_ad // 广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击,是否显示) ecs_admin_action // 管理权限分配(父类ID,权限代码) ecs_admin_log // 管理日志(登陆时间,登陆管理员ID,操作描述,IP) ecs_admin_message // 管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否已读,是否删除,标题,内容) ecs_admin_user // 管理员管理(用户名,email ,密码,加入时间,最后登陆时间,最后登陆IP,权限等) ecs_adsense // 广告相关统计(来源广告,来源位置,点击) ecs_ad_position // 广告位(名称,宽,高,描述,样式) ecs_area_region // 配送区域关联(配送区域ID,具体地址ID)ecs_article // 文章(分类ID,标题,内容,作者,作者email ,

关键字,类型,是否显示,添加时间,文件地址,打开类型) ecs_article_cat // 文章分类(名称,类型,关键字,描述,排序,是否导航显示) ecs_attribute // 商品属性(分类,名称,选择样式,类型,值,检索类型,排序,是否关联) ecs_bonus_type // 红包(名称,金额,发放起始日期,发放结束日期,使用起始日期,使用结束日期,发放类型,金额下限(按订单发放),金额上限) ecs_booking_goods // 缺货登记(登记用户ID,email ,电话,商品ID,描述,数量,登记时间,是否已处理,处理管理员,处理时间,处理备注) ecs_brand // 品牌(名称,logo,描述,链接,排序,是否显示)ecs_card // 祝福贺卡(名称,图片,费用,免费额度,描述) ecs_cart // 购物车(用户ID,session_id ,商品ID,商品编号,商品名称,市场价,购买价,数量,属性,是否真实商品,扩展代码,父类ID,类型,是否赠品,能否处理) ecs_category // 商品分类(名称,关键字,描述,父类ID,排序,是否有子类,模板文件,数量单位,是否导航显示) ecs_collect_goods // 收藏(用户ID,商品ID,收藏时间) ecs_comment // 评论(类型,类型ID,email ,用户名,内容,评星,添加时间,IP,状态,父类ID) ecs_feedback // 用户留言(父类ID,用户ID,用户名,email,标

ecshop常见问题汇总

Ecshop常见问题汇总 ECSHOP开发中心(https://www.sodocs.net/doc/4711356675.html,) 1、如何修改网站"欢迎光临本店" 回答(1) languages\zh_cn\common.php文件中,$_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字样。 还有member_info.lbi里面的welcome字样。 回答(2) 打开网站后台-模板选择-语言项编辑选择公共语言包-搜索“欢迎”进行修改 2、如何修改登录\注册字体的颜色 在库文件member_info.lbi 中修改 3、如何修改首页"热门搜索关键字" 后台-系统设置-网店设置-显示设置-首页搜索关键字,修改他的内容,然后保存,必须是英文半角字符隔开 4、如何修改首页标题"Powered by ECShop" includes/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';修改成$page_title = $GLOBALS['_CFG']['shop_title']就可以了。 5、如何发布首页公告 后台->系统设置->商店设置->网店信息->商店公告. 6、如何修改网站logo 用你的logo图片替换/themes/当前使用模板/images/logo.gif (以你当前logo图的名称为准) 7、如何去除ecshop产品详细页产品点击率 模板文件中,打开goods.dwt,删除{$lang.goods_click_count}: {$goods.click_count}

ecshop模板制作入门教程

ecshop模板制作入门教程 本教程适用于了解 ecshop 和 ecshop模板DIY 以及它们的日常使用,在查看前阁下需要至少会使用一种编辑器(exp:Dreamweaver, editplus, emacs, vi, ee …意思就是可视化的HTML编辑器或者直接文本编辑器,我在讲的时候用Dreamwaver来讲,这样比较适合初学者和设计师) 通过对本教程的学习,只要您边看边跟着做,一定能够学会自己做模板的。:) 下列章节的适用于ecshop程序。同时这里许多内容和一些 Smarty相关。假如您已经熟悉这些内容可跳过不阅读。假如您是ecshop新手并且想diy一下自己的店铺,那您应该认真详细地从头到尾读一遍这些章节。( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) ecshop模板堂,电商系统及服务提供领导品牌!专注于ecshop模板开发、微信商城、商城APP等电商解决方案,助力千万企业早日实现电子商务! 希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧! ecshop模板堂是国内电商系统及服务提供领导品牌,市场占有率占行业份额70%以上,用户口碑、服务评价、产品质量均属业内领先地位。 产品链贯穿PC端(大商创B2B2C商城系统)、微信端(ECTouch微商城)、APP端(ECjia 商城APP),为传统行业插上互联网的翅膀。 第一章节: 读取这些内容,您将了解:

每个前台页面所对应的模板页面,模板文件的目录结构。 一些最基本的ecshop模板修改方法。 模板的路径以及相关包含文件的方法(深入了解Dreamweaver模板制作)。 一些常用模板例子讲解. 模板存放路径: ecshop/themes/xxxxx 其中的 xxxxx 就是某一套模板,如系统一般会自带的模板文件名叫做 default, (即:ecshop/themes/default )里面放的就是安装好时的默认模板,以下所有的说明都是针对默认模板来讲解. 操作前提,将您当前使用的模板调整为default模板,然后清空缓存。 接下来我们进入default目录,可以看到以下文件目录: images/ (存放模板中用到的图片) library/ ( 存放一些小模板文件及重复被用到的模板文件 ) style.css (模板样式文件) index.dwt (首页的模板 index.php) goods.dwt ( 商品显示页的模板 goods.php) *.dwt (表示其它.dwt文件) 虾米?难道你不相信这些就是模板吗?好,那我证明给你看看. 我们把把images里面的logo.gif文件的名字,改为logo2.gif,然后我们随便找一张gif图片,起名为logo.gif放到images目录中,然后我们刷新首页。看到没?首页logo被修改了。 如果你觉得大小不合适,那么我们打开library目录中的 page_header.lib 查看源代码,然后搜索 images/logo.gif 然后看它后面 width=”130″ height=”56″把130和56改为相应的值就可以了,到前台刷新看看。 好接下来我们用dreamweaver打开index.dwt文件,在源代码中搜索{$page_title} ,找到后,将{$page_title} 修改为超级无敌的大卖场. 然后到到浏览器前台刷新,看看页面有什么变化。虾米?没有发现吗?看看浏览器头

ECshop_模板开发与优化教程

ecshop教程-ecshop模板中lbi和dwt文件的关系 ecshop教程-ecshop模板中lbi和dwt文件的关系 要修改ecshop模板必要要了解下lbi和dwt文件,如果把这个问题弄明白了,那对我们修改ecshop模板的帮助就很大了。 之间讲过了[ecshop教程-ecshop 修改对应参考] ,下面我们讲下ecshop中的dwt和lbi文件 首先要明白dwt模板文件是一个(框架),控制着ecshop的大体框架,里面链接着所需的lbi库文件(内容)。修改dwt里面lbi部分的内容是不会发生变化的.需要修改lbi文件.然而lbi内容也可以镶嵌到dwt模板文件里面(镶嵌就是分离到模板文件里面了,和原先的lbi文件没有关系了.)但是这样的话.其他dwt模板页面也使用到相同的lbi板块的话,内容就不能同步了.只能再继续镶嵌,造成了效率不高。所以ecshop才把内容lbi文件分离出来,方便链接。 在模板文件里面添加可编辑区域.(可编辑区域是给程序使用的.每在模板里面添加一个可编辑区域都可以在"模板管理=>设置模板"的区域里面看到已添加的可编辑区域的名字.),然后就可以通过后台管理的"设置模板",把库文件调到您想要的可编辑区域里面. 明白这些对于ecshop初学者来说可能比较困难,但寨卒认为,只要多动手修改,别人给出代码的时候不要一味的直接抄袭来,按部就班的修改完之后,再回头思考下,慢慢的就会总结出来好的代码修改方法了。当然多来我的博客也会有好处的。 下面举个例子来说明,拿ecshop2.6.2中的默认模板来说。index.dwt里 之后有如下代码。

{$lang.shop_notice}

{$shop_notice}

ecshop学习教程

ecshop开发详解功能了解 介绍 安装 后台管理 程序分析 重要表 执行流程 底层库 js库分析 练手功能 去除标题[PHP] 去除版权标志[js] 最新评论[PHP+模板] 二次开发 自定义title [php] email登陆[php] 多商品倒计时[js] 模板开发

1.1 ecshop介绍 ecshop是一款b2c的商城程序. 目前(2014年1月11日) 最新程序是ecshop-2.7.3版本. 已被上海商派(shopex)购买,更新缓慢. 程序特点: 面向过程,通过函数库与函数调用,来获取数据,并能过smarty模板来展示数据. 学习难度小,二次开发比较直观. 1.2 安装 下载最新的ecshop-2.7.3为例,解压得到如下3个目录, 其中upload就是需要上传的主程序. 把upload解压到web目录下,并改名,如ecshop, 并用浏览器打开,即可进入自动安装过程.

1.3 后台管理 常用选项: 商品管理 栏目管理 会员注册项 导航配置 模板选择 注意: 在使用一些比较成熟的程序时,尽量通过后台配置选项,来达到目的,而不要直接修改代码. 因为后台配置效率更高, 更重要的,如果直接修改代码,后续程序的升级将带来麻烦.

2.1 重要的表分析 Ecs_goods表:商品表 Ecs_category :栏目表 Ecs_brand:品牌表 Order_info 订单表 Order_goods 订单对应的商品表. order_action 订单操作的原始记录 User 用户表 User_account 用户账户表 Account_log:用户的账户变动流水表 Collect_goods: 用户收藏商品表 Feedback表:留言表,不针对商品,直接针对店家留的言. Comment:是针对商品做的评论. Nav 表导航链接表,可以定制页面上的导航信息.

ECShop模板中如何实现局部刷新

ECShop模板中如何实现局部刷新 建立一个ajax.js文件,代码如下: // JavaScript Document var xmlHttp; function S_xmlhttprequest() { xmlHttp=null; if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc. xmlHttp=new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE6, IE5 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } function getName(name) { if(name = https://www.sodocs.net/doc/4711356675.html,.value) { S_xmlhttprequest(); xmlHttp.open("get","date.php?name="+name,true); xmlHttp.onreadystatechange = byname; xmlHttp.send(null); } }

function byname() { if(xmlHttp.readyState ==1) { document.getElementById('name').innerHTML = "loading...."; } if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var name = xmlHttp.responseText; document.getElementById('name').innerHTML = name; } } } function getEmail(email) { var email = document.myform.email.value; if(email =="") { alert("用户名不能为空"); document.myform.email.focus(); return false; } else { S_xmlhttprequest(); xmlHttp.open("get","date.php?email="+email,true); xmlHttp.onreadystatechange = byemail; xmlHttp.send(null); }

如何给ecshop模板的文章加上分页

如何给ECShop模板的文章加上分页ECSHOP开发中心(https://www.sodocs.net/doc/4711356675.html,) 将admin/includes/lib_main.php里的$editor->ToolbarSet = 'Normal'; 修改为 $editor->ToolbarSet = 'Default'; 然后将article.php里的$cache_id = sprintf('%X', crc32($_REQUEST['id'] . '-' . $_CFG['lang'])); 修改为$page=isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; $cache_id = sprintf('%X', crc32($_REQUEST['id'] . '-' .$page.'-'. $_CFG['lang'])); 再找到$smarty->assign('article', $article); 在这段代码上面增加 $article_arr=explode("

 
",$article['content']); $page_cnt=count($article_arr); if($page){ if($page > $page_cnt) $page = $page_cnt; if($page < 1) $page = 1; $article["content"]=$article_arr[$page-1]; }else{ $article["content"]=$article_arr[0]; } if($page_cnt>1){ for($i=1;$i<=$page_cnt;$i++){ if($page==$i) $page_nav .="   {$i} "; else{ $url = $_SERVER['SCRIPT_NAME'].'?id='.$article_id.'&page='.$i;

基于PHP技术的ECSHOP的二次开发

科技信息博士·专家论坛 1.什么是二次开发 二次开发,简单的说就是在现有的软件上进行定制修改、功能的扩展,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。一般的来说,一些大公司如IBM开发了一个大型的软件系统平台,根据不同的客户的需要,一些其他的中小公司为根据客户需求在该平台上进行第二次有针对性的开发。是否提供相应的接口,有的软件公司只提供软件,但也有小公司连代码一起出售,如是后者,就更方便进行二次开发。比如售票系统,车站里面弄好了,提供几个储存过程给银行,银行就可以代理售票了,这也是一种,还有一种如我们利用delphi, C#等操作word等。 1.1二次开发的基本要求 一般进行软件的二次开发,需要掌握以下基本要求: 第一,要有这个开源产品的所用语言的语言基础。 第二,要对这个开源产品的功能和使用比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。 第三,要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。如果是用接口式的二次开发,则需要你对这个接口比较熟悉,一般来说会有相应的文档。 第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求。 第五,对其提供的SDK中的API函数有一定了解,以利于你对SDK 中个函数的使用更加灵活方便。 1.2使用PHP的开源产品的二次开发的基本要求 第一,基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javas-cript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的),也就是说,要懂得网页开发的一些基本知识。 第二,熟悉开源产品的使用,比如Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能。当然,想了解这些,只需要在官方网站上,找到并下载相关的文档,仔细学习文档,了解开源产品的使用。 第三,要熟悉这个开源产品的数据库结构,还要理解里面核心文件的内容,比如:数据库类怎么使用,常用的安全过滤是怎么做的,模板引擎又是怎么使用的等等一些核心内容。还要知道这个开源产品的目录结构,就是说,你要知道哪是放模板的,哪里是做控制的,哪里是放样式的。在ECSHOP中所使用的数据库是MySQL,要学会使用。 第四,熟悉你的需求,对需求进行解读,然后确定如何对这个开源产品进行修改和扩展。 第五,PHP中的一个通用性很强的模板Smarty在PHP的相关开源产品中得到了很大的应用,如,ECSHOP中就使用了Smarty的模板引擎。 2.ECSHOP系统的特点 在PHP中,现在流行的开源的二次开发软件很多,譬如,PHPWind,分商业版和免费版,但在功能和版本上没有区别,软件全面开源并且免费。版本现已有累积超过60万的用户;电子商务系统如ECSHOP,是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序,由于开源程序面向多用户,所以它的弹性好,随之而来的就是它的结构体系复杂,代码量巨大,一个开源系统往往是页面套页面,几百个页面,每个页面少则几百,多则几千行代码,所以也经常有不少的程序员在报怨公司为什么要做二次开发,其实,一款二次开发的软件有很多需要我们学习的地方,有那么大的市场份额,也说明它有很多的优点。简单的说,有如下几点: (1)是一款开源的网上商店系统。 (2)操作简便,只需轻点鼠标+简单录入即可完成商城管理。 (3)在系统架构、数据库、程序等方面都经过精心设计,保证了系统的健壮和效率。 ECSHOP系统已经有不少的成功案例,比如,NOKIA的官方网站,MOTOROLA摩托罗拉的官方网站,海尔商城等,ECSHOP在市场上的应用很广,不是使用ECSHOP建立的电子商务网站都可以使用ECSHOP 进行开发。 3.ECSHOP案例 现在电子商务发展非常的迅速,有很多的电子商务网站营运而生,一个很小的团队想开发出一个很强大的购物网站将需要付出很多的时间和精力。淘宝网就是一个很成功的购物网站,以下实现修改EC-SHOP商品页,加入购物车弹出浮动层,仿淘宝效果,对一些电子商务的购物网站美化效果。 下面以ECSHOP的二次开发为例,介绍一下如何使用ECSHOP进行软件开发。 ECSHOP版本:ECShop_V2.7.2 二次开发的功能:修改ECSHOP商品页,加入购物车弹出浮动层,仿淘宝效果在ECSHOP商品详情页点“加入购物车”,直接在当前页弹出一个漂亮的小窗口,此方法比较简单,不需要修改PHP程序,也不需要在ECSHOP模板页预设隐藏层,主要是修改JS文件。 1)首先将需要用得到的图片下载到你网站的/data/images/下面,注意,保存图片的时候不要重命名,要用原来的名字直接保存。 2)以下修改以官方默认模板为例,打开ECSHOP模板文件/themes/ default/goods.dwt 将

  • 修改为
  • 3)下面修改ECSHOP语言包文件,打开/languages/zh_cn/common. php 找到$_LANG['cart_info']将它的值修改为购物车共%d件商品,总计%s修改后是这个样子$_LANG['cart_info']='购物车共%d件商品,总计%s'; 4)打开/js/common.js找到所示代码Case‘1’ :If(confirm(result.message))location.href=cart_url;Break;Case‘2’ :if(confirm(result.message))location.href=cart_url;Case‘3’ :location.href=cart.url;并修改为Case‘1’ :If(confirm(result.message))location.href=cart_url;openDiv_ECSHOP 120(result.content);Break;Case‘2’ :if(confirm(result.message))location.href=cart_url;openDiv_ECSHOP 120(result.content);Case‘3’:openDiv_ECSHOP120(result.content); 5)修改/js/common.js文件,在文件的最末尾增加如下两段代码 //关闭图层 function cancel_div_ECSHOP120(){document.getElementByid (‘gwc’).removeChile(docile(‘speDiv’));vari=0;var sel_boj=document.ge-tElementsByTagName(‘select’);while(sel_boj[i]){sel_boj[i].style.visibility=’visible’;i++;}} 4.结束语 其实,进行二次开发不难,不需要把二次开发的软件完全阅读个遍,只需要读懂整个二次开发软件的局部,甚至是一个页面中的某一行,找到文件,通过Dreamweaver、记事本等工具的查找都可快速的找到,对其修改即可。在对ECSHOP进行开发的时候,可以进行页面的新建,添加你所使用的任何功能。 经过二次开发后,能完成你所需要的需求,积累丰富经验,做软件开发的经验有自己的,也有别人的。所谓别人的,就是在做这个软件的二次开发的时候,能吸收到这个软件系统的精华,然后把这个精华融入到自己的思想里,还能总结项目架构的经验,供自己以后使用。有句话说的好,就是:聪明的人会把别人失败的经验当作自己的经验,而傻的人就是自己无数次体验失败后才作为自己的经验。二次开发不仅仅是开发、提高我们做软件开发的能力,而更重要的是吸取精华,总结经验,理顺思路,少走弯路,提升自己。 21世纪的今天,计算机软件技术正在快速迅猛的发展,公司为了在市场上求得更巨大的商业利益,不少软件都提供开源,而且完全免费,功能上比大多数非开源的软件功能还要强很多,为什么我们不去用呢? 参考文献 [1]刘光.地理信息系统二次开发实例教程.北京:清华大学出版社, 2004 [2]刘言松.AutoCAD2009中文版二次开发实例教程.北京:化学工业出版社,2009 基于PHP技术的ECSHOP的二次开发 芜湖信息技术职业学院软件工程系殷佳庭陆婷婷 [摘要]目前,在市场上流行的计算机编程语言有很多,其中PHP的市场份额很大,在最新的一期的编程语言排名中,PHP排在第5位,用PHP开发一个大型的电子商务的购物网站将会消耗大量的时间和精力,为了克服这些困难,不少公司推出了自己的开源产品,便于进行二次开发,比如购物类的网站ECSHOP,对它的功能进行定制和扩展,就能在较短的时间内开发出产品。本文简要介绍基于PHP技术的ECSHOP的二次开发。 [关键词]二次开发开源电子商务Smarty ECSHOP 基金项目:本文系2010年安徽省高校省级质量教学研究项目《基于校企合作的动漫设计与制作专业课程体系的建设和研究》,项目编号:20101296。 — —29