最近很忙,也没时间去打理一些资料和开发笔记,去年总结了使用ecshop电子商务系统的100个小问题,被ecshop爱好的朋友大量转载,今年应更多朋友的邀请。总结50条ecshop二次开发小技巧。希望对大家有所帮助。我将尽力快速的完成完善本文.但是有一点,不会说的太详细,也不会有完整的代码。只提供思路给大家.
1:如何统计ecshop商品在订单中出现的次数
回答:$count = $db -> getOne("select sum(goods_number) from ".$ecs->table('order_goods')." where goods_id = '$goods[goods_id]'");
2:ecshop详细页面如何通过onclick点击事件来控制购买,特别用在批发,批发存在一个最小购买量控制.
回答:
<script>
function adgtz(){
var number = document.getElementById("ordernumber").value;
var min_number = {$goods.min_number};
var goods_num = 1000;
if(number > goods_num - min_number){
alert("最多能买"+goods_number+"件");
}
number=parseInt(number)+min_number;
document.getElementById("ordernumber").value = number;
}
function adgtzmm(){
var number = document.getElementById("ordernumber").value;
var min_number = {$goods.min_number};
if (number>min_number){
number=parseInt(number)-min_number;
}
document.getElementById("ordernumber").value = number;
}
</script>
3:如何用js去验证手机号码.
回答:var reg =/^[1]([3][0-9]{1}|50|53|59|58|56|86|80|89|87|88|85|86|55|51|52|57)[0-9]{8}$/;
4:ecshop中如何取得每个月的1号时间?
回答:local_mktime(0,0,0,date("m"),0,date("Y"));使用ecshop的local_mktime函数. http://www.chinab4c.com/html/shangchengchengxu/ecshophanshu/2009/0629/70.html
5:ecshop如何直接关闭窗口而不弹出提示
回答:<a href="javascript:window.opener=null;window.close();">
6:如何统计ecshop某商品下被审核过的评论数量。
回答:$ccount = $db -> getOne("select count(*) cc from ".$ecs->table('comment')." where id_value = '$goods_id' and comment_type = '0' and status = '1' and parent_id = '0'");
有关ecshop评论,请参考本文http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0811/129.html
7:ecshop中js如何将时间格式互转
回答:date1 = new Date();
var b = Date.UTC(date1.getYear(),date1.getMonth()+1,date1.getDate(),0,0,0)
time1 = frm.elements['best_time'].value;
y = time1.substring(0,4);
m = time1.substring(5,7);
d = time1.substring(8,10);
var b2 = Date.UTC(y,m,d,0,0,0)
8:如何解析ecshop flash的xml
回答:
$str = @file_get_contents("data/flash_data.xml");
if($str){
preg_match_all("/item_url=\"(.*?)\"/",$str,$url);
preg_match_all("/text=\"(.*?)\"/",$str,$text);
preg_match_all("/link=\"(.*?)\"/",$str,$link);
$ar_flash = array();
if(sizeof($url[1])){
for($i=0;$i<sizeof($url[1]);$i++){
$ar_flash[$i]['url'] = $url[1][$i];
$ar_flash[$i]['text'] = $text[1][$i];
$ar_flash[$i]['link'] = $link[1][$i];
}
$smarty->assign('ar_flash',$ar_flash);
}
}
9:ecshop中如何正则提取中文
回答:preg_match("/[".chr(0xa1)."-".chr(0xff)."]+/",ecs_iconv("UTF-8","GBK",$v['brand_name']),$cn);
10:ecshop如何取得订单中所属区域
$p = $GLOBALS['db']->getOne("select region_name from ".$GLOBALS['ecs']->table('region')." where region_id = '".$re1['province']."'");
$c = $GLOBALS['db']->getOne("select region_name from ".$GLOBALS['ecs']->table('region')." where region_id = '".$re1['city']."'");
$d = $GLOBALS['db']->getOne("select region_name from ".$GLOBALS['ecs']->table('region')." where region_id = '".$re1['district']."'");
11:ecshop中如何分别提取中文和英文
回答:utf下面
$pregstr = "/[\x{4e00}-\x{9fa5}]+/u";
preg_match($pregstr,$v['brand_name'],$ch);
gbk下面
$strtest = “yyg中文字符yyg”;
$pregstr = "/([".chr(0xb0)."-".chr(0xf7)."][".chr(0xa1)."-".chr(0xfe)."])+/i";
if(preg_match($pregstr,$strtest,$matchArray)){
echo $matchArray[0];
}
12:如何控制ecshop商品总价格只有ecshop会员特殊等级才能查看
回答:ecshop的goods.php
$is_spe = $GLOBALS['db'] -> getOne("select special_rank from ".$GLOBALS['ecs']->table('user_rank')." where rank_id = '".$_SESSION['user_rank']."'");
if($is_spe){
$res['result'] = price_format($shop_price * $number);
}else{
$string = "<a href=article-21-%E6%80%8E%E4%B9%88%E6%B3%A8%E5%86%8C.html>请联系客服</a>";
$res['result'] = $string;
}
13:调试ecshop程序出现以下错误Fatal error: Cannot redeclare是什么意思?
回答:Fatal error: Cannot redeclare,意思是你运行的程序中,某函数重新申明了两次,要删除其中一个同名函数.
14:ecshop如何判断是否当天登陆,并赠送积分.
回答:/* 赠送积分 */
$day = local_mktime(0,0,0,date("m"),date("d"),date("Y"));
$last_time = $db -> getOne("select last_login from ".$ecs->table('users')." where user_name = '".$username."'");
if($last_time < $day){
log_account_change($_SESSION['user_id'], 0, 0, 0, 10, '每天登陆送积分', ACT_OTHER);
}
15:如何在ecshop订单列表中列表出订单中所包含的商品编号.
回答:
function get_user_orders($user_id, $num = 10, $start = 0)
{
/* 取得订单列表 */
$arr = array();
global $ecs;
global $db;
$sql = "SELECT order_id, order_sn, order_status,consignee, shipping_status, pay_status, add_time, " .
"(goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee ".
" FROM " .$GLOBALS['ecs']->table('order_info') .
" WHERE user_id = '$user_id' ORDER BY add_time DESC";
$res = $GLOBALS['db']->SelectLimit($sql, $num, $start);
while ($row = $GLOBALS['db']->fetchRow($res))
{
if ($row['order_status'] == OS_UNCONFIRMED)
{
$row['handler'] = "<a href=\"user.php?act=cancel_order&order_id=" .$row['order_id']. "\" onclick=\"if (!confirm('".$GLOBALS['_LANG']['confirm_cancel']."')) return false;\">".$GLOBALS['_LANG']['cancel']."</a>";
}
else if ($row['order_status'] == OS_SPLITED)
{
/* 对配送状态的处理 */
if ($row['shipping_status'] == SS_SHIPPED)
{
@$row['handler'] = "<a href=\"user.php?act=affirm_received&order_id=" .$row['order_id']. "\" onclick=\"if (!confirm('".$GLOBALS['_LANG']['confirm_received']."')) return false;\">".$GLOBALS['_LANG']['received']."</a>";
}
elseif ($row['shipping_status'] == SS_RECEIVED)
{
@$row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['ss_received'] .'</span>';
}
else
{
if ($row['pay_status'] == PS_UNPAYED)
{
@$row['handler'] = "<a href=\"user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['pay_money']. '</a>';
}
else
{
@$row['handler'] = "<a href=\"user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['view_order']. '</a>';
}
}
}
else
{
$row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['os'][$row['order_status']] .'</span>';
}
$row2 = $db -> getAll("select goods_id ,goods_sn from ".$ecs->table('order_goods')." where order_id = '".$row['order_id']."'");
$row['shipping_status'] = ($row['shipping_status'] == SS_SHIPPED_ING) ? SS_PREPARING : $row['shipping_status'];
$row['order_status'] = $GLOBALS['_LANG']['os'][$row['order_status']] . ',' . $GLOBALS['_LANG']['ps'][$row['pay_status']] . ',' . $GLOBALS['_LANG']['ss'][$row['shipping_status']];
$arr[] = array('order_id' => $row['order_id'],
'order_sn' => $row['order_sn'],
'order_time' => local_date($GLOBALS['_CFG']['time_format'], $row['add_time']),
'order_status' => $row['order_status'],
'consignee' => $row['consignee'],
'total_fee' => price_format($row['total_fee'], false),
'goodslist' => $row2,
'handler' => $row['handler']);
}
return $arr;
}
16:如何取得ecshop会员一天内的评论条数
回答:
function get_day_count_comment($user_id = ''){
global $db;
global $ecs;
$pre = local_mktime(0,0,0,date("m"),date("d"),date("y"));
$next = local_mktime(0,0,0,date("m"),date("d")+2,date("y"));
$count = $db -> getOne("select count(*) from ".$ecs->table('comment')." where user_id = '$user_id' and add_time > '$pre' and add_time < '$next' ");
if($count > 5){
return false;
}else{
return true;
}
}
17:ecshop中js是如何验证radio选择.
回答:类似以下代码
/*
var businesstype = false;
var job_title = false;
var number_of_employees = false;
for (i = 0; i < frm.elements.length; i ++ )
{
if (frm.elements[i].name == 'businesstype' && frm.elements[i].checked)
{
businesstype = true;
}
if (frm.elements[i].name == 'job_title' && frm.elements[i].checked)
{
job_title = true;
}
if (frm.elements[i].name == 'number_of_employees' && frm.elements[i].checked)
{
number_of_employees = true;
}
if (frm.elements[i].name == 'number_of_employees' && frm.elements[i].checked)
{
number_of_employees = true;
}
}
*/
- 浏览: 634411 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
发表评论
-
ECSHOP 下订单给客户发邮件
2013-10-11 21:22 1064在flow.php文件中,给商家发邮件下面 /* 给商家 ... -
修改ECSHOP,支持图片云存储化(分离到专用图片服务器)
2013-05-17 14:13 1517为了提高页面加载速度和适应中国复杂的网络环境,我决定把所有 ... -
ecshop增加 购买过该商品的人还购买过哪些商品 功能
2013-05-10 17:04 1482这个在ecshop中其实自带这个功能,但是ecshop中的这 ... -
ECShop二次开发指南
2013-04-12 10:03 0前言:ECSHOP是一套完整的网络商店解决方案,包括前台的商 ... -
菜鸟学PHP之Smarty入门
2013-03-10 12:01 1038菜鸟学PHP之Smarty入门(组 ... -
ECSHOP 数据库结构参数表
2013-03-10 12:00 1077ECSHOP 数据库结构参 ... -
ecshop数据字典
2013-03-10 11:58 1398ecshop数据字典 s_account_log / ... -
Ecshop 文件结构
2013-03-10 11:27 1392ecshop 文件架构说明/*ECShop 2.5.1 的结构 ... -
ECShop二次开发指南
2013-03-10 11:23 997前言:ECSHOP是一套完整的网络商店解决方案,包括前台的商 ...
相关推荐
总的来说,"ECSHOP二次开发教程开发手册"将引导开发者深入了解ECSHOP的架构和功能,掌握核心开发技巧,从而实现对ECSHOP的高效定制,满足各种电商业务场景的需求。通过学习和实践,开发者可以提升自己的技能,为企业...
ecshop二次开发50个小技巧 1:如何统计ecshop商品在订单中出现的次数 2:ecshop详细页面如何通过onclick点击事件来控制购买,特别用在批发,批发存在一个最小购买量控制.
### Ecshop二次开发技巧 #### 一、Ecshop二次开发概述 Ecshop是一款非常流行的开源电子商务平台,基于PHP+MySQL技术构建。对于许多中小企业来说,它提供了强大的功能和灵活的扩展性,支持商家轻松搭建自己的在线...
### 项目实战Ecshop商城系统二次开发知识点梳理 #### 一、Ecshop系统...通过以上知识点的学习与实践,可以全面掌握Ecshop商城系统的二次开发技能,为打造一个功能完善、用户体验优秀的电子商务平台奠定坚实的基础。
### ECShop二次开发思想 #### 一、ECShop模板基础概览 ECShop是一款非常流行的开源电子商务系统,它不仅提供了丰富的功能,还支持强大的二次开发能力。本文将深入探讨ECShop模板的基础概念及其修改方法,旨在帮助...
### ecshop二次开发思想 #### 引言 在IT领域,尤其是电商平台上,自定义与个性化成为提升用户体验、增强品牌独特性的关键。ecshop作为一款成熟的开源电子商务平台,提供了丰富的功能与灵活的二次开发能力,使得...
总的来说,"ecshop开发教程资料大全"是一个全面的学习资源,无论你是初学者还是有一定经验的开发者,都能从中找到适合自己的学习路径,提升ECShop二次开发的能力。通过深入学习,你可以将ECShop打造成一个功能强大、...
- 功能模块:熟悉订单处理、商品管理、会员系统、支付接口、物流配送等核心功能,是进行二次开发的基础。 2. **数据库管理** - 数据库设计:ECSHOP的数据表设计遵循良好的数据库设计原则,包括商品信息、订单数据...
### ECSHOP设置及开发技巧汇总 #### 一、设置修改 ##### 1.1 ECShop图片设置 ECShop中的图片设置主要涉及商品图片、Logo等。为了保持网站的美观和提升用户体验,需要对这些图片进行合理的配置。可以通过ECShop后台...
### ecshop模板开发与优化教程知识点详解 #### 一、ecshop模板开发基础:lbi与dwt文件的关系 ...通过以上内容的学习,我们可以更加深入地理解ecshop模板开发的基础知识和优化技巧,从而更好地应用于实际项目中。
这份笔记详细记录了韩忠康在公开课程中分享的理论与实践要点,旨在帮助学习者深入了解和掌握ECShop的使用和二次开发。 首先,笔记中会涉及PHP基础,PHP是ECShop的编程语言,学习者需要了解PHP的基本语法、数据类型...
51ECShop2.0是一款基于PHP语言开发的开源电子商务系统,专为中小企业打造,具有强大的功能和灵活的可扩展性。作为网上能找到的可用版本,它对应的是ECShop2.7.3,虽然存在一定的使用限制,但通过简单的解除限制,...
源码分析是理解软件工作原理的关键步骤,对于开发者来说,能够深入源码有助于他们进行二次开发或定制功能。 在“用cookie缓存sql语句.doc”这个文档中,可能详细记录了实现这一优化的具体步骤,包括但不限于以下几...
开发者可以根据需求进行二次开发,自定义界面、功能和流程,以满足不同类型的商业需求。其基于B/S架构,支持多种数据库(如MySQL),具有良好的跨平台性。 该模板集“仿康途”是ECSHOP的一个特定设计,可能包含了...
对于个人和学生来说,通过学习和使用这款模板,可以深入理解电商网站的架构和运作模式,掌握ECSHOP系统的操作和二次开发技巧。同时,这也是一个实战项目,有助于提升编程技能和项目经验,对于未来就业或创业都有...
- **技术栈**:ECshop二次开发。 - **项目功能**:支持在线购物、商品展示等,面向中小型企业。 - **项目心得**:增强了对电子商务平台的认知,提升了ECshop的二次开发能力。 3. **山东武警整形医院** - **...
7. **ECShop二次开发**:实战项目部分,学员将学习如何在ECShop这一成熟的电商平台上进行定制化开发,了解商城系统的架构和业务逻辑,提升项目实战经验。 8. **错误与异常处理**:理解如何正确地处理程序中的错误和...
- **Dedecms, Discuz, Ecshop, WordPress, Destoon**:流行的开源内容管理系统或电子商务平台,能进行二次开发以满足特定需求。 - **SQL优化和慢查询分析**:数据库性能调优技巧,确保高效的数据查询和处理。 - *...