ecshop二次开发50个小技巧

来源:互联网 发布:ce6.7源码 编辑:程序博客网 时间:2024/06/05 08:57

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;
    }
}
*/

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手指被火烧伤了怎么办 别人砸坏我家门怎么办 逆水寒经验满了怎么办 tcl魔环显示离线怎么办 城管执法局执法不公平怎么办 人被骗去搞传销怎么办 进了传销想出来怎么办 武汉江夏健康证怎么办 健康证条子掉了怎么办 送外卖的健康证怎么办 美团没有健康证怎么办 健康证不给补办怎么办 南京怎么办健康证去哪里办 浙江横店健康证怎么办 办健康证查乙肝怎么办 餐饮健康证丢了怎么办 办健康证吃了东西怎么办 吃宵夜脸肿了怎么办 晚上不吃宵夜饿了怎么办 办健康证身份证丢了怎么办 宁波二院怎么办健康证 健康证和培训证怎么办 楼下烧煤炉呛人怎么办 衣服染了笔渍怎么办 济宁二院怎么办健康证 刚按揭车的想卖怎么办 房子已过户银行不放贷怎么办 办房贷信用逾期给拒了怎么办 二手房过户了房贷下不来怎么办 没有房证的房子买卖怎么办 老公失踪房产证要他签字怎么办 税务机关对长期欠税怎么办 离婚有贷款的房子怎么办 买房没过户房主反悔怎么办 房子过户卖方爱人去世怎么办 黄浦区学生社会实践护照掉了怎么办 北京医保卡坏了怎么办 去了越南的签证怎么办 护照签证到期还在国外怎么办 办护照预约满了怎么办 未满16岁怎么办护照