Câu trả lời:
Mã sẽ trông giống như thế này:
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');
}
Tôi biết đây là một chủ đề cũ, nhưng bây giờ đã có một mô-đun cho điều này, xem Đường dẫn Giỏ hàng trống . Mô-đun này cho phép quản trị viên trang xác định nhiều đường dẫn và khi người dùng truy cập trang không khai báo, giỏ hàng của họ sẽ bị xóa.
Theo đề xuất, hãy thử mô-đun Đường dẫn Giỏ hàng rỗng .
Nó cho phép quản trị viên trang xác định nhiều đường dẫn và khi người dùng truy cập trang không khai báo, giỏ hàng của họ sẽ bị xóa.
Sử dụng:
- Tải về và kích hoạt mô-đun.
- Chuyển đến admin / Commerce / config / blank-cart-path và nhập bất kỳ đường dẫn bổ sung nào. thanh toán, thanh toán / , giỏ hàng và giỏ hàng / được khai báo theo mặc định.
Hoặc hộp cát của combert: Mô-đun Clear Clear Cart chỉ cần thêm một trang mà khi truy cập sẽ làm trống giỏ hàng Thương mại của người dùng hiện tại. Nó cũng thêm một liên kết đến trang đó vào giao diện giỏ hàng Thương mại.
Tôi hy vọng điều này sẽ giúp ai đó có cùng vấn đề ... Tôi đã cài đặt Quy tắc đường dẫn https://www.drupal.org/project/pathrules . Từ đó tạo quy tắc tùy chỉnh ... 1. Sự kiện -> Drupal đang khởi tạo 2. kiểm tra đường dẫn giỏ hàng / trống 3. Hành động: Xóa tất cả các sản phẩm khỏi đơn hàng 4. goto Tham số: URL: [site: url]