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
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');
}
Sie können eine URL mit einer Rückruffunktion definieren, in der Sie den Inhalt des Warenkorbs programmgesteuert löschen.
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.
quelle
Probieren Sie wie vorgeschlagen das Modul Commerce Empty Cart Paths aus .
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.
quelle
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]
quelle