ecshop短信发送功能分析

2011-02-15 21:14 来源:www.chinab4c.com 作者:熊斌

      ecshop短信发送功能属于ecshop的一大亮点。我们在对ecshop二次开发的过程中。常常会对ecshop的短信接口进行处理。甚至是修改ecshop 短信发送核心库文件.那么ecshop短信发送功能的的具体原理和处理机制是什么呢。我们将结合ecshop后台和前台代码。来谈谈ecshop 短信发送功能.

  我们进入ecshop后台。系统设置里面。有个短信设置,可以设置商户的手机号码.以及发送短信的控制流程。这个设置信息记录在ecshop数据库shop_config表中。里面的字段分别为.sms_shop_mobile,sms_order_placed,sms_order_payed,sms_order_shipped.三个参数分别表示下单,付款和发货时候是否发送短信息给客户。

  ecshop短信系统,主要分布在上面说的几个状态中。我们不可能意义的列举该功能。我们将结合购物车中的代码flow.php来谈谈.

     首先在下单的done动作中。我们将看到以下代码.

      if ($_CFG['sms_order_placed'] == '1' && $_CFG['sms_shop_mobile'] != '')
    {
        include_once('includes/cls_sms.php');
        $sms = new sms();
        $msg = $order['pay_status'] == PS_UNPAYED ?
            $_LANG['order_placed_sms'] : $_LANG['order_placed_sms'] . '[' . $_LANG['sms_paid'] . ']';
        $sms->send($_CFG['sms_shop_mobile'], sprintf($msg, $order['consignee'], $order['tel']), 0);
    }

    这里代码告诉我们.通过获取$_CFG中的配置信息来判断,是否给客户发信息。然后通过调用includes/cls_sms.php这个短信api接口来发送短信.首先声明了一个$sms对象.这个对象有个方法send()方法.

 以下是ecshop短信系统send()函数的函数说明。

   /**
     * 发送短消息
     *
     * @access  public
     * @param   string  $phone          要发送到哪些个手机号码,多个号码用半角逗号隔开
     * @param   string  $msg            发送的消息内容
     * @param   string  $send_date      定时发送时间
     * @return  boolean                 发送成功返回true,失败返回false。
     */
    function send($phone, $msg, $send_date = '', $send_num = 1)

    所有的ecshop调用短信息发送的地方。都是通过这个方法来实现的。我们当然可以结合ecshop的一些使用需求.

 来源:http://www.chinab4c.com