pusty koszyk drupal z adresem URL?


8

Czy można opróżnić wózek za pomocą drupala, odwiedzając adres URL?

/ koszyk / pusty

Próba stworzenia przypadku testowego dla selenu

Odpowiedzi:


13

Kod wyglądałby mniej więcej tak:

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');
}

1

Możesz zdefiniować adres URL za pomocą funkcji zwrotnej, w której programowo wyczyścisz zawartość koszyka.


1
Czy możesz podać, jak to wygląda w module?
chrisjlee


0

Zgodnie z sugestią wypróbuj moduł Commerce Empty Cart Paths .

Umożliwia administratorom witryn definiowanie wielu ścieżek, a gdy użytkownik odwiedza niezadeklarowaną stronę, jego koszyk jest opróżniany.

Stosowanie:

  1. Pobierz i włącz moduł.
  2. Przejdź do admin / commerce / config / empty-cart-paths i wprowadź dodatkowe ścieżki. kasa, kasa / , koszyk i koszyk / są domyślnie deklarowane.

Lub piaskownica Comberta: moduł Commerce Clear Cart , który po prostu dodaje stronę, która po odwiedzeniu opróżni obecnego użytkownika koszyk Commerce. Dodaje również link do tej strony do widoku koszyka Commerce.


0

Mam nadzieję, że to pomoże komuś, kto ma ten sam problem ... Zainstalowałem Path Rules https://www.drupal.org/project/pathrules . Stamtąd utwórz niestandardową regułę ... 1. Zdarzenie -> Drupal inicjuje 2. sprawdź ścieżkę koszyk / pusty 3. Działania: Usuń wszystkie produkty z zamówienia 4. goto Parametr: URL: [site: url]

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.