分享一个可显示评论的商品挂件


点击下载链接 上传到模板widgets目录下,后台可视编辑模板设置挂件参数

更多ecstore 插件联系站长QQ 1611235299
点击这里给我发消息

发表在 Ecstore二次开发 | 评论关闭

Ecstore移动端触屏事件处理分析

Ecstore移动前端一般在手机等触摸屏上展现,在前端用户UI接口与PC端不同,例如单击事件,在PC端是鼠标Click事件,在触摸屏上则是用户的手指触摸屏幕引起的单击事件,Ecstore为处理触屏事件,引入了zepto中的touch模块。如常用的单击和双击事件

在移动端打开商城商品列表页,可以点击标签来排序和筛选商品,这里的单击标签就是tap事件

看一下这里处理tap事件的js代码

$('.J-tab .trigger').on('touchend',function(e){e.preventDefault();}).on('tap',function(){
    page = 1;
    if( $(this).hasClass('sales-seq') ){
        salesSeq = salesSeq == 'buy_w_count desc' ? 'buy_w_count asc' : 'buy_w_count desc';
    }
    else if ($(this).hasClass('price-seq')) {
        if(priceSeq == 'price desc'){
            priceSeq = 'price asc';
            $(this).find('i')[0].className = 'arr down';
        }else{
            priceSeq = 'price desc';
            $(this).find('i')[0].className = 'arr top';
        }
    }

    filterGoods($(this));
  });

on(‘tap’,function(){}) 就是添加tap事件处理的代码,touch模块原代码在 public/app/wap/statics/js/touch.js 有兴趣的可以分析查看。

发表在 Ecstore二次开发 | 评论关闭

Ecstore的手机wap端使用了什么JS框架

EcStore电脑PC端使用的JS框架是mootools,所以如果熟悉pc前端开发的,直接按mootools的js写法在手机wap前端页面中去写JS是不起作用的,还会出错。因为ecstore的wap端js框架使用的是zepto,一个类似于jQuery的移动端开发的库,是jQuery在手机端的轻量级替代品,jQuery的大部分方法在zepto中也有,而且增加了专用移动端增加的一些事件和方法。

看一个zepto中的ajax调用

$.post('<{link app=b2c ctl=wap_cart act=total}>',
                $('form[class="form"]').serialize(),function(re){
                $('#checkout_total').html(re);
            });
发表在 Ecstore二次开发 | 评论关闭

Ecstore中如何调用发起Ajax请求

Ecstore的JS框架使用了mootools,所以ajax调用也使用mootools中的Request组件。

语法:

var myRequest = new Request([options]);

参数:

  1. options – (object, 可选) 参见下列可选项

可选项:

  • url – (string: 默认为 null) 请求的目标URL
  • method – (string: 默认为 ‘post’) HTTP请求方法, 可以是: ‘post’ 或 ‘get’
  • data – (string: 默认为 ”) 为Request:send方法提供的默认请求参数
  • async – (boolean: 默认为 true) 如果为false, 则请求将以同步方式进行
  • encoding – (string: 默认为 “utf-8″) 请求的编码方式
  • link – (string: 默认为 ignore) 可以为’ignore’, ‘cancel’ 或 ‘chain’
    • ‘ignore’ – 当请求正在执行之中时,新的请求将被忽略
    • ‘cancel’ – 当请求正在执行之中时,将立即取消当前执行中的请求,开始执行新的请求
    • ‘chain’ – 当请求正在执行之中时,将会把新的请求链接在当前请求之后,依次执行所有请求
  • headers – (object) 请求头数据
  • isSuccess – (function) 可覆盖内置的isSuccess函数,可自定义请求成功的规则

看ecstore中的一个例子:

new Request({url:'index.php?app=b2c&ctl=admin_specification&act=check_spec_value_id',
        onSuccess:function(re){
              if(re=='can'){
                  row.remove();
              }else{
                  MessageBox.error(re);
              }
        }
}).post('spec_value_id='+encodeURIComponent(specvid));

onSuccess是在ajax调用成功后返回,参数是响应内容ResponseText

Request还有两个扩展类:
Request.HTML 专门用于响应内容为HTML的请求,重要的参数有:
update – (element: 默认为 null) 请求响应的responseText要插入的目标元素
evalScripts – (boolean: 默认为 true) 如果为true, 则响应内容中script标签中的脚本内容将被执行
evalResponse – (boolean: 默认为 false) 如果为true, 则整个响应内容将被作为脚本来执行

Request.JSON 专门用于发送和接收JSON格式数据的请求,这里ajax调用后将返回一个json对像
示例:

var jsonRequest = new Request.JSON({
    url: "http://site.com/tellMeAge.php",
    onComplete: function(person, text){
        alert(person.age);    //显示 "25 years".
        alert(person.height); //显示 "170 cm".
        alert(person.weight); //显示 "120 kg".
    }
}).get({
    'firstName': 'John',
    'lastName': 'Doe'
});

更多ecstore 问题可联系站长QQ 1611235299
点击这里给我发消息

发表在 Ecstore二次开发 | 评论关闭

Ecstore的微信账号绑定会员免登录

在微信公众号中通过消息交互/自定义菜单,可直接登录Ecstore手机商城。如果想用原商城账号登录,可以通过登录绑定,在后台可以获取登录绑定的链接

这个链接可以在微信公众号消息交互场景或自定义菜单中使用,通过链接,ecstore系统能获取到微信账号的openid, 根据这个openid来和ecstore中的会员账号进行绑定


绑定以后,此微信账号从公众号点击进入ec商城的时候,就已经是登录状态了。
更多ecstore 问题可联系站长QQ 1611235299
点击这里给我发消息

发表在 Ecstore二次开发 | 评论关闭

如何调用EcStore中的API接口

EcStore系统已内置了丰富的API接口供外部系统调用(接口列表见文章最下面),外部系统具体如何调用这些API呢?

例如有一个PHP的论坛需要调用ecstore系统内一个商品的详情,则可以使用b2c.goods.get_goods_intro这个api接口

API调用方式:POST
API接口的地址: http://域名/index.php/api
API调用参数:
系统级参数:
‘to_api_v’ => ’2.0′, API版本号
‘direct’ => ‘true’, 直接调用方式(主要用于测试)
‘app_id’ => ‘ecos.b2c’, 实现API服务的Ecstore App

业务级参数:
‘method’ => ‘b2c.goods.get_goods_intro’, 调用的API接口名
‘goods_id’ => ’8010′, 商品ID

安全签名参数:
‘sign’ => 参数组键值对和密钥token组合后的MD5值

用于API调用的密钥token,在服务器安装后在config目录下寻找certi.php,就是里面的token值

调用API成功后以JSON格式返回
{“rsp”:”succ”,”data”:{“goods_id”:”8010″,”goods_context”:”商品详情”},”res”:”"}

调用API失败后也是返回JSON格式字符串,在PHP中转化为数组格式可方便操作
array
(
rsp => succ
data => array(goods_id => 8010, goods_context => ”)
[res] =>
)

更多ecstore api调用问题可联系站长QQ 1611235299
点击这里给我发消息
——————————————————————–
ecstore 被外部系统请求的api接口

订单相关
b2c.order.iframe_url 外部订单编辑url地址获取
b2c.payment.create 添加订单支付单
b2c.refund.create 添加订单退款单
b2c.delivery.create 添加发货单
b2c.delivery.update 修改发货单
b2c.reship.create 添加退货单
b2c.order.search 搜索订单
b2c.order.detail 查询订单详情
b2c.order.remark 修改订单备注
b2c.order.leave_message 添加订单买家留言
b2c.order.status_update 修改订单状态
b2c.order.ship_status_update 订单发货状态更新接口
b2c.order.check_cost 确认订单价格统计接口
b2c.order.get_wap_order_detail 订单详情接口

售后相关
b2c.aftersale.create 添加售后申请
b2c.aftersale.update 修改售后申请

支付方式相关
ectools.get_payments.get_all(获取所有支付方式)

商品相关
b2c.update_store.updateStore 更新商品库存
b2c.goods.get_cat_list 根据商品分类ID获取下级分类列表
b2c.goods.get_type_detial 根据商品类型ID,获取商品类型详情
b2c.goods.get_store 根据货品ID 查询货品库存
b2c.goods.get_lv_price 根据货品ID 查询货品对应等级价格
b2c.goods.get_goods_intro 根据商品ID,查询商品详情
b2c.goods.search_properties_goods 根据筛选条件查询商品
b2c.goods.get_goods_detail 根据货品ID获取单个货品的详细信息
b2c.brand.get_brand_detail 获取品牌数据(根据品牌排序查询列表)

会员相关
b2c.member.get_encrypt_params 获取会员加密密码参数
b2c.member.signin 会员登录
b2c.member.send_signup_sms 对注册的手机号发送验证码
b2c.member.signup 会员注册接口
b2c.member.change_password 会员修改密码
b2c.member.lost_send_vcode 找回密码1,根据手机号码发送验证码
b2c.member.lost_verify_vcode 找回密码2,验证码验证
b2c.member.lost_reset_password 找回密码3,设定新密码 ,并进行修改密码后续操作(发送短信或邮件)
b2c.member.get_cart_info 根据会员ID获取购物车信息
b2c.member.add_cart 保存会员新添加的购物车信息
b2c.member.update_cart 更新购物车信息购物车信息
b2c.member.remove_cart 清除购物车信息购物车信息
b2c.member.save_address 保存会员新建/编辑的收货地址
b2c.member.get_address 根据会员查询收货地址
b2c.member.get_member_info 用户基本信息查询
b2c.member.get_fav 根据用户id获取商品收藏列表
b2c.member.get_order_list 根据用户id调取其订单列表,按照下单时间降序排序
b2c.member.add_comments 发表评论
b2c.member.is_discuss 根据商品ID判断时候能进行评论
b2c.member.get_cat_comments 根据商品ID获取评论列表
b2c.member.get_point_params 获取商品评论的评分参数

发表在 Ecstore二次开发 | 评论关闭

Ecstore中的微信支付怎么样配置

要在Ecstore中开启微信支付,需要先在后台/应用中心中安装“移动商城”和“微信商城管理”这两个App

移动商城App是ecstore的手机wap版,可在手机浏览器中实现商城的B2c购物功能。“微信商城”则包括了微信公众号绑定以及微信支付等微信相关功能。

安装应用后,在后台“移动”菜单下先绑定微信公众号

这里的微信号、原始ID、AppId、AppSecret等各个参数需要登录微信公众号平台https://mp.weixin.qq.com 进行查看

绑定公众号后,进入ecstore后台/控制面板/支付方式管理中, 启用“微信支付JSAPI”

这里的Mchid是申请微信支付的商户号,key是支付密钥,可在微信商户平台获取,进入微信公众号平台/微信支付/开发配置,这里最重要的是支付授权目录,需要填写ecstore的手机wap版根目录路径  http://域名/index.php/wap/


配置完成后即可在微信中打开手机商城,下单选择微信支付,更多ecstore问题联系站长QQ 1611235299 点击这里给我发消息

发表在 Ecstore二次开发 | 评论关闭

EcStore中的App是什么东西?

Ecstore中的App不是手机上的App,它是一个Web应用包,集合了Web应用的后端PHP程序、Mysql数据表定义,以及前端HTML+CSS+JS展现,通常是实现某个业务功能,如购物车、促销、支付接口等。
打开EcStore的文件目录 ,在app目录下存放了系统中所有的App应用,主要分为三种类型:
1、底层App
底层App主要指base应用,它是Ecstore中的内核(kernel),提供了系统基础的数据库访问、App和Service管理、缓存管理,基本的MVC实现等,base还提供了App的安装和卸载。
2、支持层App
支持层App有电商通用组件EcTools、前台站点Site、后台管理Desktop、角色权限PAM、数据库动态扩展DBEav等,业务层App可以方便的引用这些基础支持功能,从而专注于开发业务功能,不用操心底层功能实现。
3、业务层App
业务层App就是通常我们开发的业务功能App ,EcStore中最重要的就是B2c应用,它实现了网店系统中最重要的商品、会员、订单等重要的功能部件。

一个业务层App的典型结构:
controller
—admin    后台管理控制器
—site        前台PC端控制器
—wap       前台Wap端控制器

dbschema
—table1.php   数据表定义

lib
—lib1.php     通用类库

model
—table1.php   表模型定义

statics           存放静态资源文件:图片、样式表、JS等
—images      静态图片文件
—css            静态css文件

view
—admin      后台管理视图文件
—site          前台PC端视图文件
—wap         前台Wap端视图文件

app.xml        应用定义
desktop.xml     后台管理菜单、权限等定义
service.xml       服务注册
site.xml            前台PC端可访问模块定义
wap.xml          前台Wap端可访问模块定义

来看一个starbuy团购促销应用中app.xml的定义内容

最重要的就是定义了应用名称name,依赖的其它应用depends,我们可以在EcStore的后台管理/应用中心中看到应用的名称和介绍,进行安装和卸载。

desktop.xml定义了应用的后台管理菜单组menugroup、菜单项menu、权限permission

安装此应用后,在后台/促销/组合促销中,可以打开应用的管理功能界面。

site.xml 定义了pc端前台可访问资源special等

service.xml 用于向系统注册应用中的服务

发表在 Ecstore二次开发 | 评论关闭

给EcStore换一个炫酷的验证码

在EcStore原有的登录/注册等需要验证用户的页面,通常都有一个数字+字母式的验证码图片,用户输入图片中正确的字符可通过验证

不过有时这种验证码会出现一些难以辨认的情况,最主要这种验证现在网上都用烂了,如果您的商城模板风格是高端大气上档次的话,这种验证码就有点落伍了。
想不想换种独特风格的,不需要输入任何字符,简单拖动一下就可完成原有的验证功能,试试下面这种验证码吧

联系站长QQ 1611235299查看详细演示 点击这里给我发消息

发表在 Ecstore二次开发 | 标签为 | 评论关闭

快速下单!简化EcStore的购物结算流程

EcStore拥有完善的购物车功能,方便顾客浏览挑选商品,但是在提交订单时必须要求用户先登录注册

如果是未注册用户还多出一个注册用户的步骤

这些多出来的步骤和操作会影响购物下单的流畅性,降低了用户购物下单的转化率,最近站长就帮一个Ec网站改掉了这个需注册登录才能下单的问题,顾客在在商品页面浏览自己需要的商品信息后,点击“立即购买”

不需要登录,马上跳转到快速下单页面

用户输入收货地址,点击“提交订单”,立即就能生成新订单

生成新订单的同时,也自动为用户创建了新用户,给用户手机发送了密码,用户以后就可以按手机号和密码直接登录商城,查看自己的订单。

联系站长QQ 1611235299查看详细演示 点击这里给我发消息

发表在 Ecstore二次开发 | 标签为 | 评论关闭