Jawaban:
Kode akan terlihat seperti ini:
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');
}
Saya tahu ini adalah utas lama, tetapi sekarang ada modul untuk ini, lihat Jalur Kosong Perdagangan . Modul ini memungkinkan administrator situs untuk menentukan beberapa jalur, dan ketika pengguna mengunjungi halaman yang tidak dideklarasikan, keranjang belanja mereka dikosongkan.
Seperti yang disarankan, coba modul Commerce Empty Cart Paths .
Ini memungkinkan administrator situs untuk menentukan beberapa jalur, dan ketika pengguna mengunjungi halaman yang tidak dideklarasikan, keranjang belanja mereka dikosongkan.
Pemakaian:
- Unduh dan aktifkan modul.
- Buka admin / commerce / config / empty-cart-paths dan masukkan semua path tambahan. checkout, checkout / , cart dan cart / dinyatakan secara default.
Atau kotak pasir combert: modul Commerce Clear Cart yang hanya menambahkan halaman yang saat dikunjungi akan mengosongkan keranjang Commerce pengguna saat ini. Itu juga menambahkan tautan ke halaman itu ke tampilan keranjang Commerce.
Saya harap ini membantu seseorang yang memiliki masalah yang sama ... Saya menginstal Path Path https://www.drupal.org/project/pathrules . Dari sana buat aturan khusus ... 1. Event -> Drupal menginisialisasi 2. periksa path cart / kosong 3. Tindakan: Hapus semua produk dari pesanan 4. goto Parameter: URL: [situs: url]