betway必威-betway必威官方网站
做最好的网站

ecshop配置宝典,jQuery之ajax删除详解

差十分的少逻辑:
后台操作三个订单发货的时候进行机动分成,后台打消发货,退货,改为未发货的时候去掉自动分成都部队分。
基本代码:lib_common.php

先是看html分界面包车型客车代码:

页面关键字 {$keywords }
页面标题 {$page_title}

//分成积分计算

function fenchenjifen($usertype=3,$point){

 $affiliate = unserialize($GLOBALS['_CFG']['affiliate']);       

  

if($usertype==3){   //采购

 

                             

                if ($affiliate['config']['level_register_up'])

        {

            $affiliate['config']['level_register_up'] /= 100;

        }

            $point_cg = round($affiliate['config']['level_register_up'] * intval($point), 0);

            return $point_cg;

        }   

if($usertype==1){//经销商

        if ($affiliate['config']['level_money_all'])

        {

            $affiliate['config']['level_money_all'] /= 100;

        }

            $point_cg = round($affiliate['config']['level_money_all'] * intval($point), 0);

            return $point_cg;

        }   

if($usertype==2){//财务

    if ($affiliate['config']['level_register_all'])

        {

            $affiliate['config']['level_register_all'] /= 100;

        }

            $point_cg = round($affiliate['config']['level_register_all'] * intval($point), 0);

            return $point_cg;

        }   

             

         

         

}

 

 

/**

* 

* @param undefined $order  订单信息

* @param undefined $buyuser 购买者信息

* @param undefined $integral 计算积分

* $type = 1 增加  $type=-1 撤销

* 分成log状态99

*/

function fun_fencheng_change($order,$buyuser,$integral=array(),$type=1){//店铺分成计算

    if(intval($order['parent_shopid'])==0) return false;

    if(!is_array($buyuser)) return false;

     

    $order_id=$order['order_id'];

    $separate_by=99;

    switch($buyuser['usertype']){

        case '0'://购买者类型

         $row = $GLOBALS['db']->getRow("SELECT * from " . $GLOBALS['ecs']->table('users') . " u ".

                    " WHERE u.shopid  =".$order['parent_shopid']." and u.usertype=1"

                );//获取pid

         

            $up_uid = $row['user_id'];          

            if(!empty($up_uid) && $up_uid > 0)

            {

                $money=$point=0;    

                $point= fenchenjifen(1,$integral['custom_points']); 

                         

               // $info = sprintf($GLOBALS['_LANG']['separate_info'], $order['order_sn'], $money, $point);

                $info="订单".$order['order_sn']."分成获得积分:".$point;

                log_account_change($up_uid, $money, 0, ($type)*$point, ($type)*$point, $info);

                //var_dump($info);  

                if($type==1){           

                 

                write_affiliate_log1($order_id, $up_uid, $row['user_name'], $money, $point, $separate_by);

                }else{

                    rollback_affiliate_log($order_id);

                }

                $orderupdate['is_separate']=$type==1?$separate_by:0;

                 $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'),

        $orderupdate, 'UPDATE', "order_id = '$order_id'");

            }

        break;

        case '3':

        $row = $GLOBALS['db']->getAll("SELECT u.shopid,u.user_id,u.usertype, u.user_name FROM " . $GLOBALS['ecs']->table('users') . " u ".

                    " WHERE u.shopid= ".$order['parent_shopid']." and u.usertype in (1,2)");

                    foreach($row as $val){ // 经销商和财务获得分成

                        if($val['usertype']==1){

                            $pointf = fenchenjifen(1,$integral['custom_points']);   

                            }

                        if($val['usertype']==2){

                            $pointf = fenchenjifen(2,$integral['custom_points']);   

                            }   

                            $up_uid = $val['user_id'];

                            //$info = sprintf($GLOBALS['_LANG']['separate_info'], $order['order_sn'], $money, $pointf);

                            $info="订单".$order['order_sn']."分成获得积分:".$pointf;

                log_account_change($up_uid, $money, 0, ($type)*$pointf, ($type)*$pointf, $info);

                 

                if($type==1){           

                      write_affiliate_log1($order_id, $up_uid, $val['user_name'], $money, $pointf, $separate_by);

                }else{

                    rollback_affiliate_log($order_id);

                }

                 $orderupdate['is_separate']=$type==1?$separate_by:0;

                 $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'),

        $orderupdate, 'UPDATE', "order_id = '$order_id'");      

                    }

         

        break;

    }

    return true;

}

 

/**

* 

* @param undefined $oid

* @param undefined $uid

* @param undefined $username

* @param undefined $money

* @param undefined $point

* @param undefined $separate_by

* 写入订单分成 log

*/

function write_affiliate_log1($oid, $uid, $username, $money, $point, $separate_by)

{

    $time = gmtime();

    $sql = "INSERT INTO " . $GLOBALS['ecs']->table('affiliate_log') . "( order_id, user_id, user_name, time, money, point, separate_type)".

                                                              " VALUES ( '$oid', '$uid', '$username', '$time', '$money', '$point', $separate_by)";

    if ($oid)

    {

        $GLOBALS['db']->query($sql);

    }

}

 

//撤销订单分成

function rollback_affiliate_log($order_id,$falg=-2){

      $sql = "UPDATE " . $GLOBALS['ecs']->table('affiliate_log') .

               " SET separate_type = '$falg'" .

               " WHERE order_id = '$order_id'";

         $GLOBALS['db']->query($sql);

}

<a href="javascript:;"  onclick="delete_order('<?php echo $item[order_id]; ?>')"><img src="images/admin/delete-icon.png" border="0" /></a>这些一个图片链接,表示删除。它并不跳转到有个别分界面,而是点击时出发click事件。

产品分类
父分类列表 {foreach from=$categories item=cat }
父分类超链接 [url==”{$cat.url}”>{$cat.name|escape:html}</a>
争辨应子分类 {foreach from=$cat.children item=child}
子分类超链接 [url==”{$child.url}”>{$child.name|escape:html}</a>
[=#ff0000]巨惠产品 {if $promotion_info} 查证是否存在优惠产品,一纸空文就不出示相关新闻
减价产品列表 {foreach from=$promotion_info item=item key=key}
其间还会有相当的多标签,没弄精晓,以往在增加,修改
[=#ff0000]订单查询 {if empty($order_query)} 同上看下就知晓了
订单用户ID {if $order_query.user_id}
订单数量 {$lang.order_number}
订单号码 {$order_query.order_sn}
中间还会有为数非常的多标签,没弄掌握,以后在增加,修改
[=#ff0000]发货查询 {if $invoice_list} 当有完成的订单测展现
发货列表 {foreach from=$invoice_list item=invoice}
订单号名称 {$lang.order_number}
订单号 {$invoice.order_sn}
发货单名称 {$lang.consignment}
发货单号 {$invoice.invoice_no}
[=#ff0000]出售排名 {if $top_goods} 看看就知晓
出售列表 {foreach name=top_goods from=$top_goods item=goods}
出品短名称 {$goods.short_name}
看例子:
<!– {foreach name=top_goods from=$top_goods item=goods}–>
<li class=”top10-li-{$smarty.foreach.top_goods.iteration}”> [url==”{$goods.url}” title=”{$goods.name|escape:html}”>{$goods.short_name}</a></li>
<!–{/foreach}–>
精品推荐 {if $best_goods}
精品推荐列表 {foreach from=$best_goods item=goods}
商号价名称 {$lang.market_price}
市集价价格 {$goods.market_price}
优惠价名称 {$lang.promote_price}
巨惠价价格 {$goods.promote_price}
公司价名称 {$lang.shop_price}
商城价价格 {$goods.shop_price}

急需小心的点:
后台发货程序在admin/order.php
急需修改的地点有: 发货 866行 ,打消发货 1035行 改为未发货 3961行 退货4132行。
本代码只总括分成都部队分。自个儿下单部分别的。
以此代码是服从公司ID分成,多商行的。为ecshop三回开荒版。不可能用于原版。
调用分成: fun_fencheng_change($order,$user,$integral,1);
收回分成: fun_fencheng_change($order,$user,$integral,-1);

click事件奉行delete_order()方法。那几个方法中传送了二个参数,订单号。通过那几个参数,能够去实行相应的去除操作。

世家看到了呢??{$lang.xxxx_xxxx}以lang伊始的为绝对应的称呼
{$goods.xxxx_xxxx}以goods开端的为价格
{$page_title} 网址标题
{$keywords} 网址关键字标签 ECSHOP插件
{$description} 网址描述标签
{$shop_notice} 商铺通告
$new_articles 新文章
{$article.short_title} 调用小说标题
{foreach from=$new_articles item=article} 循环的开头,
{/foreach} 循环的终结
item --> 具体意思和用法?
报表一行一行的循环
<table>
{foreach from=$new_articles item=article}
<tr><td>
{$article.short_title}
</td></td>
{/foreach}
</table>
from=$best_goods 表示循环的从头到尾的经过来自$best_goods
$best_goods 精品商品推荐的价签
{$goods.short_style_name} 表示goods 这么些指标的商品名称
$new_goods 新品上市
$hot_goods 热卖商品
$categories 分类的竹签
$goods_list 商品标签
物品图片: <img src= {$goods.goods_img} />
商品名称:{$goods.goods_style_name}
物品货号:{$goods.goods_sn}

下面jQuery代码:

货物品牌: {$goods.goods_brand}
货品数量:{$goods.goods_number}
单位:{$goods.measure_unit}
增进时刻:{$goods.add_time}
增势:{$goods.market_price}
本店价格:{$goods.shop_price_formated}
挂号用户价格:{$rank_price.price}
注册用户价格:{$rank_price.price}
登记用户价格:{$rank_price.price}
商品id为1的商品 http://localhost/ecshop/goods.php?id=1
邮件模板管理
百货店在进行一些操作时能够向用户发送邮件提示。在本页你能够定制本身特性化的邮件的沙盘。邮件大旨为发送邮件的标题。邮件模板中有能够轮换的内容都用{$_var}方式意味着。以下将分解全部变量含义。
国有变量
{$shop_name}
网店名称
{$sent_date}
邮件发送时间
出殡密码模板变量
{$user_name}
注册帐号名
{$password}
网店为用户生成的新密码
订单确认模板变量
{$order.consignee}
订单收货人姓名
{$order.order_time}
订单生成时间
{$order.order_sn}
订单序号
发货通告模板变量
{$order.consignee}
收货人姓名
{$order.shipping_time}
发货时间
{$confirm_url}
肯定收货的链接地址
订单裁撤模板变量
{$order.consignee}
收货人姓名
{$order.order_sn}
订单序号
订单失效模板变量
{$order.consignee}
收货人姓名
{$order.order_sn}
订单序号
出殡红包模板变量
{$user_name}
用户注册名
{$count}
红包个数
{$money}
红包个数金额

复制代码 代码如下:

ECSHOP无偿模板
{$ecs_css_path}为css加载路线

<script>
    function delete_order(order_id){   
        confirm_ = confirm('This action will delete current order! Are you sure?');
        if(confirm_){
            $.ajax({
                type:"POST",
                url:'index.php/admin/order/del/' order_id,
                success:function(msg){
                    //alert("test order");
                    //all delete is success,this can be execute
                    $("#tr_" order_id).remove();
                }
            });
        }
    };
</script>

{insert_scripts files=’文件’}加载ECSHOP系统JS文件

第一出发一个提醒框,确认删除吗?

$navigator_list.top:查看购物车 | 选购中心 | 标签云| 报价单(数组)

一经认可的话,推行ajax操作。

            $nav.url:url地址

            $nav.name:名称

            顶部导航栏:自定义导航栏设置

在jQuery中,有一个$.ajax()的方法。

$searchkeywords:热搜(数组)$val为起值

此间有多少个参数,叁个是体系,这在那之中用的是POST,

$lang.hot_search:热搜字样

其次个是地方,那个很关键,它担任将数据,传送到后台服务器去执行。

$lang.all_category:全部分类字样

其多个参数是贰个回调函数,假若推行删除成功,就能够实行的操作。那个时候,就可以推行一些动作,比如将这条已去除的笔录,移除。结合的是底下的这行代码。为没条记下,赋予叁个动态的id,作为剔除时行使的依赖。这里要稳重的是,必须后台推行的全数都成功之后,才会实行那个回调函数。

{$category_list}:产品分类列表(独有在运用下列框成效下才有限)

<tr id="tr_<?php echo $item['order_id']; ?>"></tr>

{$search_keywords|escape}:搜索框 VALUE的值

下边包车型大巴是后台实践的代码

search.php?act=advanced_search高档寻找地址

复制代码 代码如下:

$lang.advanced_search:高档搜索地址

function del() {
    $order_id = $this->uri->segment(4);
    if ($order_id > 0) {
      $this->db->delete('billing', array('order_id' => $order_id));
      $this->db->delete('shipping_address', array('order_id' => $order_id));
      $this->db->delete('order_products', array('order_id' => $order_id));
      $this->db->delete('comments', array('order_id' => $order_id));
    }
    $this->db->delete($this->tbname, array('id' => $order_id));
  }

$lang.home:首页字样

这一个后台调控器中的多少个措施,通过$this->uri->segment();方法获得参数,将参数赋值给变量order_id。

$nav.opennew:是不是张开新窗口,在系统设置里安装

然后,就足以在后台试行相应的删除操作了。假如剔除都成功的话,就能够有一个暗中认可的消息传送给success方法。

$nav.active:应该是一种设置

前几日遭逢的success方法实行不成功的原因,正是因为有七个删减操作施行不成功,那二个隐蔽的音讯传送不到success方法。为啥不成功吗?因为$this->db->delete('shipping_address', array('order_id' => $order_id));与数据库中的表名不对应,大概是被人家更换了。

**********************品牌********************************************

新兴校对之后,success方法成功试行。

$brand_list(数组):品牌列表

这是贰个简练的ajax实例。能够大约的表达ajax的功效。无需刷新分界面,直接暗地里的去后台举行操作就可以,操作成功后,还足以试行相应的动作,通过jQuery来完结

$brand.brand_logo:品牌Logo

你大概感兴趣的稿子:

  • jQuery css3贯彻Ajax点击后动态删除效用的章程
  • ajax php实现给fckeditor文本编辑器扩张图片删除功用
  • 依照php(Thinkphp) jquery 完毕ajax多选反选不选删除数据功用
  • Ajax bootstrap美化网页并促成页面包车型客车加载删除与查看详细情形
  • JQuery DataTable删除行后的页面更新利用Ajax化解
  • Ajax加多数码与删除篇完成代码
  • jquery ajax完毕批量删减具体思路及代码
  • PHP ajax 无刷新删除数据
  • Ajax方式删除表格一行数据示例代码
  • ajax完毕数据删除、查看详细的情况功效

$brand.url:某牌子产品U途达L

$brand.brand_name:品牌名称

$brand.goods_num:某品牌下产品种类数量

********************精品推荐***************************************************

{$lang.best_goods}:精品推荐字样

$best_goods(数组):精品推荐

本文由betway必威发布于编程开发,转载请注明出处:ecshop配置宝典,jQuery之ajax删除详解

TAG标签: betway必威
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。