vide panier de commerce drupal avec une URL?

8

Est-il possible de vider le panier avec le commerce drupal en visitant une URL?

/ panier / vide

Essayer de créer un cas de test pour le sélénium

chrisjlee
la source

Réponses:

13

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');
}
Clive
la source
1

Vous pouvez définir une URL avec une fonction de rappel dans laquelle vous effacez simplement par programme le contenu du panier.

Meisca
la source
1
Pourriez-vous fournir à quoi cela ressemble dans un module?
chrisjlee
0

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é.

Nigel Waters
la source
0

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:

  1. Téléchargez et activez le module.
  2. 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.

Kenorb
la source
0

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]

Christiane Peschen
la source