답변:
코드는 다음과 같습니다.
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');
}
나는 이것이 오래된 스레드라는 것을 알고 있지만 이제 이것에 대한 모듈이 있습니다. Commerce Empty Cart Paths . 이 모듈을 사용하면 사이트 관리자가 여러 경로를 정의 할 수 있으며 사용자가 선언되지 않은 페이지를 방문하면 장바구니가 비워집니다.
제안한대로 Commerce Empty Cart Paths 모듈을 사용해보십시오 .
사이트 관리자는 여러 경로를 정의 할 수 있으며 사용자가 선언되지 않은 페이지를 방문하면 장바구니가 비워집니다.
용법:
- 모듈을 다운로드하여 활성화하십시오.
- admin / commerce / config / empty-cart-paths로 이동하여 추가 경로를 입력하십시오. checkout, checkout / , cart 및 cart / 가 기본적으로 선언됩니다.
또는 combert의 샌드 박스 : Commerce Clear Cart 모듈은 방문 할 때 현재 사용자의 Commerce 카트를 비울 페이지를 추가합니다. 또한 해당 페이지에 대한 링크를 상거래 장바구니보기에 추가합니다.
나는 이것이 같은 문제를 가진 누군가를 도울 수 있기를 바랍니다 ... 나는 Path Rules https://www.drupal.org/project/pathrules를 설치했습니다 . 거기에서 사용자 정의 규칙을 작성하십시오 ... 1. 이벤트-> Drual이 초기화 중입니다. 2. 카트 / 빈 경로 확인 3. 조치 : 주문에서 모든 제품 제거 4. goto 매개 변수 : URL : [site : url]