志在指尖
用双手敲打未来

ecshop二次开发(案例)

ecshop二次开发

一、Ecshop简介:
ECShop是Comsenz公司推出的一款B2C独立网店体系,适合企业及个人快速构建个性化网上商店。体系是依据PHP语言及MYSQL数据库构架开发的跨渠道开源程序。
ECShop尽心听取每一位商家的需求与建议,不仅设计了人性化的网店办理体系帮助商家快速上手,还依据中国人的购物习气改进了购物流程,完成更好的用户购物体会。
经过近两年的开展,ECShop网店体系不管在产品功能、稳定性、执行功率、负载能力、安全性和SEO支撑(搜索引擎优化)等方面都居国内同类产品领先地位,成为国内最流行的购物体系之一。
二、Ecshop二次开发流程演示:
1、前台代码的修正:Ecshop模板网页默许会有Ecshop版权信息,咱们要去掉这些LOGO,咱们就需要进行如下的操作过程:
1)去除前台底部查询信息的显示:
翻开当前运用的主题模板文件,在/library/page.sooter.lbi目录下,找到{insertname=’query.info’}大概在文件第63行处,将他删去就能够了。
2)去掉头部title的LOGO“ECSHOP演示站-Poweredbyecshop”:
找到includes/lib_main.php目录,找到$page_title=$GLOBALS[‘_CFG’][‘shop_title’].’-‘.’PoweredbyECShop’;行,大概在文件的第143,修正PoweredbyECShop句子,或许将他删去。
3)去掉底部LOGO“Poweredbyecshop2.7.2”:
找到js/common.js目录,找到:onload=function()函数
onload=function()
{
varlink_arr=document.getElementsByTagName(String.fromCharCode(65));
………….
………….
115,116,114,111,110,103,62);
}
}
catch(ex)
{
}
}
大概在文中的第244行,将整个函数删去,然后在找到模板文件中的library/page_footer.lbi目录,找到{foreachfrom=$lang.p_yitem=pv}{$pv}{/foreach}{$licensed}句子,大概在文中的第63行,将他删去。
4)删去Ecshop模板左下角的LOGO
a、假如你想将它替换成自己公司的LOGO:就将该LOGO图片文件命名为logo.gif,并上传到服务器的“/themes/default/images/”目录下,并覆盖本来的图片文件。
b、删去ECShop默许的LOGO,不需要替换:翻开“/themes/default/style.css”目录文件,大概在文中第433行能够找到如下的句子:
#footer{background:url(images/logo1.gif)no-repeat5%50%;
padding-left:200px;width:760px;margin:10pxauto;}
将它修正为:#footer{padding-left:200px;width:760px;margin:10pxauto;},并且删掉/library/page_footer.lbi文件中的的句子。
5)修正文件代码头部的Generator符号:
找到includes/cls_ecshop.php文件,找到define(‘APPNAME’,’ECSHOP’);句子,大概是文中的第21行,将其修正为define(‘APPNAME’,’自定义的网站代号’);
6)去掉手机访问网站底部出现的版权信息:
翻开mobile/includes/lib_main.php文件,找到“Copyright2009”和“Poweredbyecshop”句子,大概在文中的第97行和101行,将前者修正为本年的版本号,后者修正为自己公司的称号就能够了。
7)去掉ecshophead之间的Generator’content=’ECSHOPv2.7.2’:
翻开includes/cls_template.php文件,大概在1087行,找到“$source=preg_replace(‘//i’,’/r/n’,$source);”句子,将其删去或许注释掉就能够了。
2、后台代码修正部分:
1)去除后台右上角的“关于Ecshop”:
翻开admin/templates/top.htm文件,大概在文中第194行的方位,找到
{$lang.about}
句子,将其删去。
2)修正后台的标题“Ecshop办理中心”和底部的版权信息:
翻开language/zh_cn/admin/common.php文件,大概在文中的第17行的方位,找到$_LANG[‘cp_home’]=’ECSHOP办理中心’;,和18行的$_LANG[‘copyright’]=’版权一切?2005-2009上海商派网络科技有限公司,并保存一切权利。’;句子,修正后面的值为自己公司的姓名和版权就能够了。
3)删去提交资料到Ecshop官网的代码:
a.、修正文件:admin/shop_config.php
在243行,查找:$spt.=”>’;
在之后增加一行:
$spt=”;
b、修正文件:admin/templates/index.htm
在25行,删去以下代码:
id=’hidd-frame’name=’hidd-frame’frameborder=’no’scrolling=’no’>
c、在MYSQL数据库的数据表:
shop_config中查找字段code值为certi的记录,其值为:http://service.shopex.cn/openapi/api.php,
修正为一个过错的网址!
如:http://xxxxxxxxxx/openapi/api.php
d、修正文件:admin/templates/top.htm
在110行,注释掉以下代码:
Ajax.call(‘index.php?is_ajax=1&act=license’,”,start_sendmail_Response,’GET’,’JSON’);
e、修正文件:admin/templates/menu.htm
在143行,注释掉以下代码:
f、修正文件:admin/templates/start.htm
在9行,删去掉以下代码:
g、修正文件:admin/index.php
在518行,注释掉以下代码::
$t=newtransport;
$api_comment=$t->request(‘http://api.ecshop.com/checkver.php’,$apiget);
$api_str=$api_comment[‘body’];
echo$api_str;
h、删去后台一切默许的友情链接
4)增加付出方法:
a、银联在线付出:所需程序文件/include/modules/payment/chinapay.php和chinapay/目录下的下图文件
Ecshop体系二次开发教程及流程演示
和语言包/languages/zh_cn/payment/chinapay.php
将文件按照以上结构放好之后,进入网站后台的“体系设置–付出方法”,选择中国银联进行装置,按要求装备好账号、途径、手续费等,承认即可运用。
Ecshop体系二次开发教程及流程演示
b、付出宝付出方法:所需程序文件程序文件/includes/modules/payment/alipay.php
和语言包/languages/zh_cn/payment/alipay.php。
相同按照以上结构装备好了之后,然后进入网站后台的“体系设置—付出方法”,选择付出宝进行装置,按要求装备好账户、校验码、ID、手续费等,承认即可运用。
Ecshop体系二次开发教程及流程演示
c、财付通付出方法:所需程序文件/includes/modules/payment/tenpay.php
和语言包/languages/zh_cn/payment/tenpay.php,将文件按照以上结构放好之后,进入网站后台的“体系设置—付出方法”,选择财付通进行装置,选择财付通的“即时到帐”服务进行装置,按要求装备好商户号、密钥、手续费等,承认即可运用。
Ecshop体系二次开发教程及流程演示
5)打印快递单—修正打印快递单中增加自定义信息:
修正文件:admin/order.php
现在主要增加联邦快递的账号,在该文件的478行里增加:
$lable_box[‘t_fedex_number’]=’191599268′;//联邦快递账号,当然你也能够自行增加其他快递号
修正文件:languages/zh_cn/admin/shipping.php
在该文件的61行里增加:
$_LANG[‘lable_box’][‘fedex_number’]=’联邦快递账号’;

ecshop

ecshop二次开发案例

案例效果:(即在指定的节假日的时候会有指定的活动)
Center
案例实现:
1.先找到ecshop/languages/zh_cn/admin/common.php文件,
然后在文件中加入代码:
$_LANG[’17_business_manage’]=’商务管理’;
$_LANG[’04_festival_list’]=’节日列表’;
$_LANG[’05_festival_add’]=’添加节日’;
Center1
2.再找到ecshop/admin/includes/inc_menu.php文件,
在文件中的最后一行加入代码:
//商务管理
$modules[’17_business_manage’][’04_festival_list’]=’festival_list.php?act=list’;
$modules[’17_business_manage’][’05_festival_add’]=’festival_list.php?act=insert’;
Center2
3.在ecshop数据库中添加节日表ecs_festival,
(其中act_id是优惠活动表ecs_favourable_activity中的act_id)
Center3
4.在ecshop/admin/下建立festival_list.php
<?php
/**
*ECSHOP邮件列表管理
*===========================================================
**版权所有2005-2012上海商派网络科技有限公司,并保留所有权利。
*网站地址:http://www.ecshop.com;
*———————————————————-
*这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
*使用;不允许对程序代码以任何形式任何目的的再发布。
*==========================================================
*$Author:liubo$
*$Id:email_list.php172172011-01-1906:29:08Zliubo$
*/
define(‘IN_ECS’,true);
require(dirname(__FILE__).’/includes/init.php’);
admin_priv(’email_list’);
if($_REQUEST[‘act’]==’list’)
{
$emaildb=get_email_list();
$smarty->assign(‘full_page’,1);
$smarty->assign(‘ur_here’,$_LANG[’email_list’]);
$smarty->assign(’emaildb’,$emaildb[’emaildb’]);
$smarty->assign(‘filter’,$emaildb[‘filter’]);
$smarty->assign(‘record_count’,$emaildb[‘record_count’]);
$smarty->assign(‘page_count’,$emaildb[‘page_count’]);
assign_query_info();
$sql=”select*from”.$ecs->table(‘festival’).”asaleftjoin”.$ecs->table(‘favourable_activity’).”asbona.act_id=b.act_id”;
$fes=$db->getAll($sql);
$smarty->assign(‘festival_add’,”添加节日”);
$smarty->assign(‘fes_id’,”编号”);
$smarty->assign(‘fes_name’,”节日名称”);
$smarty->assign(‘fes_date’,”节日时间”);
$smarty->assign(‘fes_addtime’,”节日添加时间”);
$smarty->assign(‘act_name’,”活动名称”);
$smarty->assign(‘fes’,$fes);
$smarty->display(‘festival_list.htm’);
//$smarty->display(’email_list.htm’);
}elseif($_REQUEST[‘act’]==’insert’)
{
$smarty->assign(‘fes_name’,”节日名称”);
$smarty->assign(‘fes_date’,”节日时间”);
$smarty->assign(‘act_name’,”活动名称”);
$sql=”selectact_id,act_namefrom”.$ecs->table(‘favourable_activity’);
$act=$db->getAll($sql);
$smarty->assign(‘act’,$act);
$smarty->display(‘festival_add.htm’);
}
elseif($_REQUEST[‘act’]==’form_pro’)
{
$fes_name=$_POST[‘fes_name’];
$fes_date=$_POST[‘fes_date’];
$act_id=$_POST[‘act_id’];
$fes_addtime=date(“Y-m-dH:i:s”);
$sql=”insertinto”.$ecs->table(‘festival’).”values(null,’$fes_name’,’$fes_date’,’$fes_addtime’,’$act_id’)”;
$res=$db->query($sql);
if($res){
/**
*start
*/
$emaildb=get_email_list();
$smarty->assign(‘full_page’,1);
$smarty->assign(‘ur_here’,$_LANG[’email_list’]);
$smarty->assign(’emaildb’,$emaildb[’emaildb’]);
$smarty->assign(‘filter’,$emaildb[‘filter’]);
$smarty->assign(‘record_count’,$emaildb[‘record_count’]);
$smarty->assign(‘page_count’,$emaildb[‘page_count’]);
assign_query_info();
/**
*end
*/
$sql=”select*from”.$ecs->table(‘festival’).”asaleftjoin”.$ecs->table(‘favourable_activity’).”asbona.act_id=b.act_id”;
$fes=$db->getAll($sql);
$smarty->assign(‘festival_add’,”添加节日”);
$smarty->assign(‘fes_id’,”编号”);
$smarty->assign(‘fes_name’,”节日名称”);
$smarty->assign(‘fes_date’,”节日时间”);
$smarty->assign(‘fes_addtime’,”节日添加时间”);
$smarty->assign(‘act_name’,”活动名称”);
$smarty->assign(‘fes’,$fes);
$smarty->display(“festival_list.htm”);
}else{
$smarty->display(“festival_add.htm”);
}
}
elseif($_REQUEST[‘act’]==’export’)
{
$sql=”SELECTemailFROM”.$ecs->table(’email_list’).”WHEREstat=1″;
$emails=$db->getAll($sql);
$out=”;
foreach($emailsas$key=>$val)
{
$out.=”$val[email]\n”;
}
$contentType=’text/plain’;
$len=strlen($out);
header(‘Last-Modified:’.gmdate(‘D,dMYH:i:s’,time()+31536000).’GMT’);
header(‘Pragma:no-cache’);
header(‘Content-Encoding:none’);
header(‘Content-type:’.$contentType);
header(‘Content-Length:’.$len);
header(‘Content-Disposition:attachment;filename=”email_list.txt”‘);
echo$out;
exit;
}
elseif($_REQUEST[‘act’]==’query’)
{
$emaildb=get_email_list();
$smarty->assign(’emaildb’,$emaildb[’emaildb’]);
$smarty->assign(‘filter’,$emaildb[‘filter’]);
$smarty->assign(‘record_count’,$emaildb[‘record_count’]);
$smarty->assign(‘page_count’,$emaildb[‘page_count’]);
$sort_flag=sort_flag($emaildb[‘filter’]);
$smarty->assign($sort_flag[‘tag’],$sort_flag[‘img’]);
make_json_result($smarty->fetch(’email_list.htm’),”,
array(‘filter’=>$emaildb[‘filter’],’page_count’=>$emaildb[‘page_count’]));
}
/*——————————————————*/
//–批量删除
/*——————————————————*/
elseif($_REQUEST[‘act’]==’batch_remove’)
{
if(!isset($_POST[‘checkboxes’])||!is_array($_POST[‘checkboxes’]))
{
sys_msg($_LANG[‘no_select_email’],1);
}
$sql=”DELETEFROM”.$ecs->table(’email_list’).
“WHEREid”.db_create_in(join(‘,’,$_POST[‘checkboxes’]));
$db->query($sql);
$lnk[]=array(‘text’=>$_LANG[‘back_list’],’href’=>’email_list.php?act=list’);
sys_msg(sprintf($_LANG[‘batch_remove_succeed’],$db->affected_rows()),0,$lnk);
}
/*——————————————————*/
//–批量恢复
/*——————————————————*/
elseif($_REQUEST[‘act’]==’batch_unremove’)
{
if(!isset($_POST[‘checkboxes’])||!is_array($_POST[‘checkboxes’]))
{
sys_msg($_LANG[‘no_select_email’],1);
}
$sql=”UPDATE”.$ecs->table(’email_list’).
“SETstat=1WHEREstat<>1ANDid”.db_create_in(join(‘,’,$_POST[‘checkboxes’]));
$db->query($sql);
$lnk[]=array(‘text’=>$_LANG[‘back_list’],’href’=>’email_list.php?act=list’);
sys_msg(sprintf($_LANG[‘batch_unremove_succeed’],$db->affected_rows()),0,$lnk);
}
/*——————————————————*/
//–批量退订
/*——————————————————*/
elseif($_REQUEST[‘act’]==’batch_exit’)
{
if(!isset($_POST[‘checkboxes’])||!is_array($_POST[‘checkboxes’]))
{
sys_msg($_LANG[‘no_select_email’],1);
}
$sql=”UPDATE”.$ecs->table(’email_list’).
“SETstat=2WHEREstat<>2ANDid”.db_create_in(join(‘,’,$_POST[‘checkboxes’]));
$db->query($sql);
$lnk[]=array(‘text’=>$_LANG[‘back_list’],’href’=>’email_list.php?act=list’);
sys_msg(sprintf($_LANG[‘batch_exit_succeed’],$db->affected_rows()),0,$lnk);
}
functionget_email_list()
{
$result=get_filter();
if($result===false)
{
$filter[‘sort_by’]=empty($_REQUEST[‘sort_by’])?’stat’:trim($_REQUEST[‘sort_by’]);
$filter[‘sort_order’]=empty($_REQUEST[‘sort_order’])?’ASC’:trim($_REQUEST[‘sort_order’]);
$sql=”SELECTCOUNT(*)FROM”.$GLOBALS[‘ecs’]->table(’email_list’);
$filter[‘record_count’]=$GLOBALS[‘db’]->getOne($sql);
/*分页大小*/
$filter=page_and_size($filter);
/*查询*/
$sql=”SELECT*FROM”.$GLOBALS[‘ecs’]->table(’email_list’).
“ORDERBY”.$filter[‘sort_by’].”.$filter[‘sort_order’].
“LIMIT”.$filter[‘start’].”,$filter[page_size]”;
set_filter($filter,$sql);
}
else
{
$sql=$result[‘sql’];
$filter=$result[‘filter’];
}
$emaildb=$GLOBALS[‘db’]->getAll($sql);
$arr=array(’emaildb’=>$emaildb,’filter’=>$filter,’page_count’=>$filter[‘page_count’],’record_count’=>$filter[‘record_count’]);
return$arr;
}
?>
7、在ecshop/admin/templates中将user_info.htm文件复制并重命名为festival_add.htm。
<formmethod=”post”action=”festival_list.php?act=form_pro”name=”theForm”οnsubmit=”returnvalidate()”>
<tablewidth=”100%”>
<tr>
<tdclass=”label”align=”center”>{$fes_name}:</td>
<td><inputtype=”text”name=”fes_name”maxlength=”60″/></td>
</tr>
<tr>
<tdclass=”label”align=”center”>{$fes_date}:</td>
<td><inputtype=”text”name=”fes_date”maxlength=”60″/></td>
</tr>
<tr>
<tdclass=”label”align=”center”>{$act_name}:</td>
<td>
<selectname=”act_id”>
<optionvalue=””>======请选择======</option>
{foreachfrom=$actitem=val}
<optionvalue=”{$val.act_id}”>{$val.act_name}</option>
{/foreach}
</select>
</td>
</tr>
<tr>
<tdcolspan=”2″align=”center”>
<inputtype=”submit”value=”{$lang.button_submit}”class=”button”/>
<inputtype=”reset”value=”{$lang.button_reset}”class=”button”/>
</td>
</tr>
</table>
</form>
前台展示
找到前台文件ecshop/index.php
Center4
//节日列表
$date=date(“m-d”,time());
//var_dump($date);die;
$sql=”select*from”.$ecs->table(‘festival’).”asaleftjoin”.$ecs->table(‘favourable_activity’).”asbona.act_id=b.act_idwherefes_date=’$date’orderbyfes_addtimedesclimit5″;
$fes=$db->getAll($sql);
$smarty->assign(‘fes’,$fes);
再找到upload\themes\default中的前台模板index.dwt
Center5
<styletype=”text/css”>
#fes_div{padding-left:20px;padding-top:10px;padding-bottom:10px;border-bottom:1pxsolidgray;}
#fes_a{text-decoration:none;color:green;font-size:16px;font-family:’楷体’;}
#fes_a:hover{color:red;font-weight:bold;text-decoration:underline;}
#fes_span{margin-right:10px;color:gray;float:right;}
</style>
<divclass=”box”>
<divclass=”box_1″>
<h3><span>节日列表</span></h3>
<divclass=”boxCenterListRelaArticle”>
{foreachfrom=$fesitem=val}
<divid=”fes_div”><ahref=”javascript:;”id=”fes_a”>{$val.fes_name}</a><spanid=”fes_span”>{$val.fes_date}</span></div>
{/foreach}
</div>
</div>
</div>

未经允许不得转载:IT技术网站 » ecshop二次开发(案例)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载