leerer Drupal-Handelswagen mit einer URL?

8

Ist es möglich, den Einkaufswagen mit Drupal Commerce zu leeren, indem Sie eine URL besuchen?

/ cart / leer

Versuch, einen Testfall für Selen zu erstellen

Chrisjlee
quelle

Antworten:

13

Der Code würde ungefähr so ​​aussehen:

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
quelle
1

Sie können eine URL mit einer Rückruffunktion definieren, in der Sie den Inhalt des Warenkorbs programmgesteuert löschen.

Meisca
quelle
1
Können Sie angeben, wie das in einem Modul aussieht?
Chrisjlee
0

Ich weiß, dass dies ein alter Thread ist, aber es gibt jetzt ein Modul dafür, siehe Commerce Empty Cart Paths . Mit diesem Modul können Site-Administratoren mehrere Pfade definieren. Wenn ein Benutzer eine nicht deklarierte Seite besucht, wird sein Warenkorb geleert.

Nigel Waters
quelle
0

Probieren Sie wie vorgeschlagen das Modul Commerce Empty Cart Paths aus .

Site-Administratoren können mehrere Pfade definieren. Wenn ein Benutzer eine nicht deklarierte Seite besucht, wird sein Warenkorb geleert.

Verwendungszweck:

  1. Laden Sie das Modul herunter und aktivieren Sie es.
  2. Gehen Sie zu admin / trade / config / empty-cart-path und geben Sie weitere Pfade ein. checkout, checkout / , cart und cart / sind standardmäßig deklariert.

Oder die Sandbox von combert: Commerce Clear Cart- Modul, das einfach eine Seite hinzufügt, die beim Besuch den Commerce-Warenkorb des aktuellen Benutzers leert. Außerdem wird der Commerce-Warenkorbansicht ein Link zu dieser Seite hinzugefügt.

Kenorb
quelle
0

Ich hoffe, dies hilft jemandem, der das gleiche Problem hat ... Ich habe Path Rules https://www.drupal.org/project/pathrules installiert . Von dort aus erstellen Sie eine benutzerdefinierte Regel ... 1. Ereignis -> Drupal wird initialisiert 2. Pfadwagen überprüfen / leer 3. Aktionen: Alle Produkte aus einer Bestellung entfernen 4. gehe zu Parameter: URL: [Site: URL]

Christiane Peschen
quelle