Answers:
代码看起来像这样:
function MYMODULE_menu() {
$items['cart/empty'] = array(
'title' => 'Empty Cart',
'access arguments' => array('access content'), // or whatever permission you want
'page callback' => 'MYMODULE_empty_cart',
'type' => MENU_CALLBACK
);
return $items;
}
function MYMODULE_empty_cart() {
global $user;
// Load the order and empty the cart
$order = commerce_cart_order_load($user->uid);
commerce_cart_order_empty($order);
// As this page won't display anything you need to redirect somewhere
drupal_goto('some/page');
}
我知道这是一个旧线程,但是现在有一个模块可以参阅Commerce Empty Cart Paths。该模块允许站点管理员定义多个路径,并且当用户访问未声明的页面时,他们的购物车将被清空。
根据建议,尝试Commerce空购物车路径模块。
它允许站点管理员定义多个路径,并且当用户访问未声明的页面时,他们的购物车将被清空。
用法:
- 下载并启用该模块。
- 转到admin / commerce / config / empty-cart-paths并输入其他任何路径。checkout,checkout / ,cart和cart /是默认声明的。
或combert的沙箱:“商品清除购物车”模块,它仅添加一个页面,该页面在被访问时将清空当前用户的商品购物车。它还将指向该页面的链接添加到Commerce购物车视图。
希望这对遇到同样问题的人有所帮助...我安装了Path Rules https://www.drupal.org/project/pathrules。从那里创建一个自定义规则... 1.事件-> Drupal正在初始化2.检查购物车/空路径3.操作:从订单中删除所有产品4.转到参数:URL:[site:url]