Risposte:
Il codice sarebbe simile al seguente:
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');
}
So che questo è un vecchio thread, ma ora esiste un modulo per questo vedere Percorsi di carrelli vuoti di Commerce . Questo modulo consente agli amministratori del sito di definire più percorsi e quando un utente visita una pagina non dichiarata, il suo carrello viene svuotato.
Come suggerito, prova il modulo Percorsi di carrelli vuoti di Commerce .
Consente agli amministratori del sito di definire più percorsi e quando un utente visita una pagina non dichiarata, il suo carrello viene svuotato.
Uso:
- Scarica e abilita il modulo.
- Vai su admin / commerce / config / empty-cart-percorsi e inserisci eventuali percorsi aggiuntivi. checkout, checkout / , carrello e carrello / sono dichiarati di default.
O sandbox di combert: modulo Commerce Clear Cart che aggiunge semplicemente una pagina che quando visitata svuota il carrello Commerce degli utenti attuali. Aggiunge inoltre un collegamento a quella pagina alla vista del carrello Commercio.
Spero che questo aiuti qualcuno che ha lo stesso problema ... Ho installato Path Rules https://www.drupal.org/project/pathrules . Da lì crea una regola personalizzata ... 1. Evento -> Drupal si sta inizializzando 2. controlla il percorso carrello / vuoto 3. Azioni: Rimuovi tutti i prodotti da un ordine 4. vai a Parametro: URL: [sito: url]