пустая коммерческая корзина друпал с URL?

8

Можно ли очистить корзину с помощью drupal commerce, посетив URL?

/ Корзина / пусто

Попытка создать контрольный пример для селена

chrisjlee
источник

Ответы:

13

Код будет выглядеть примерно так:

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

Вы можете определить URL с помощью функции обратного вызова, в которой вы просто программно очищаете содержимое корзины.

Meisca
источник
1
Не могли бы вы представить, как это выглядит в модуле?
chrisjlee
0

Я знаю, что это старая ветка, но теперь есть модуль для этого, см. Commerce Empty Cart Paths . Этот модуль позволяет администраторам сайта определять несколько путей, и когда пользователь заходит на не объявленную страницу, его корзина покупок очищается.

Найджел Уотерс
источник
0

Как предложено, попробуйте модуль Commerce Empty Cart Paths .

Это позволяет администраторам сайта определять несколько путей, и когда пользователь заходит на необъявленную страницу, его корзина покупок очищается.

Применение:

  1. Загрузите и включите модуль.
  2. Перейдите в admin / commerce / config / empty-cart-paths и введите любые дополнительные пути. оформить заказ, оформить заказ / , корзина и корзина / объявлены по умолчанию.

Или песочница combert: модуль Commerce Clear Cart, который просто добавляет страницу, которая при посещении очистит текущую пользовательскую корзину Commerce. Также добавляется ссылка на эту страницу в представлении Commerce cart.

kenorb
источник
0

Я надеюсь, что это помогает кому-то, имеющему ту же проблему ... Я установил правила пути https://www.drupal.org/project/pathrules . Оттуда создайте пользовательское правило ... 1. Событие -> Drupal инициализируется 2. Проверьте путь корзины / пусто 3. Действия: Удалить все товары из заказа 4. Перейти к параметру: URL: [site: url]

Кристиан Пешен
источник