码迷,mamicode.com
首页 > Web开发 > 详细

Drupal网站开发实践--自定义购物流程

时间:2015-12-01 18:07:11      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

由于Commerce模块自带的购物流程步骤过多,界面不太美观,所以需要重新设计。

改造后的购物流程分成两部:购物车-》结算,就两个页面。购物车页面可以修改商品的数量,删除购物车内商品,查看总金额等信息。

下面来大概的说一下实现的流程:首先是页面,使用hook_menu新建一个页面,我这里地址用的是bag,防止和Commerce自带的cart冲突。

hook_menu() {

  //重写购物车页面

  ‘bag‘ => array(

    ‘type‘ => MENU_NORMAL_ITEM,

    ‘title‘ => ‘购物袋‘,

    ‘page callback‘ => ‘custom_commerce_cart‘,

    ‘access callback‘ => TRUE,

  ),

}

custom_commerce_cart 方法返回页面内容。

function ajax_plug_commerce_cart() {
    global $user;
    $order = commerce_cart_order_load($user->uid);
    //处理订单内的商品行项
        //custom_commerce_cart为hook_theme设置的模版名称。
    return theme(‘custom_commerce_cart‘, array(‘vars‘ => array(‘rows‘ => $line_items)));
}

商品数量的修改、删除,都是通过Ajax请求,后端调用Commerce API完成的。前端使用了AngularJS,监听页面动作会比较方便。

例如修改商品数量,自定义一个MENU_CALLBACK类型的菜单,通过请求传递商品的数量、行项号码信息,在后台通过修改行项quantity属性,来设置商品的数量。

Drupal网站开发实践--自定义购物流程

标签:

原文地址:http://www.cnblogs.com/yamus/p/5010805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!