Réponses:
Le code ressemblerait à ceci:
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');
}
Je sais que c'est un vieux fil, mais il y a maintenant un module pour cela voir Commerce Empty Cart Paths . Ce module permet aux administrateurs de site de définir plusieurs chemins et lorsqu'un utilisateur visite une page non déclarée, son panier est vidé.
Comme suggéré, essayez le module Commerce Empty Cart Paths .
Il permet aux administrateurs du site de définir plusieurs chemins d'accès et lorsqu'un utilisateur visite une page non déclarée, son panier est vidé.
Usage:
- Téléchargez et activez le module.
- Accédez à admin / commerce / config / empty-cart-path et entrez les chemins supplémentaires. checkout, checkout / , cart et cart / sont déclarés par défaut.
Ou le bac à sable de combert: module Commerce Clear Cart qui ajoute simplement une page qui, une fois visitée, videra le panier Commerce des utilisateurs actuels. Il ajoute également un lien vers cette page à la vue du panier Commerce.
J'espère que cela aide quelqu'un ayant le même problème ... J'ai installé les règles de chemin https://www.drupal.org/project/pathrules . À partir de là, créez une règle personnalisée ... 1. Événement -> Drupal est en cours d'initialisation 2. Vérifiez le chemin du chariot / vide 3. Actions: Supprimez tous les produits d'une commande 4. goto Paramètre: URL: [site: url]