回答:
コードは次のようになります。
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空のカートパスモジュールを試してください。
これにより、サイト管理者は複数のパスを定義でき、ユーザーが宣言されていないページにアクセスすると、ショッピングカートが空になります。
使用法:
- モジュールをダウンロードして有効にします。
- admin / commerce / config / empty-cart-pathsに移動し、追加のパスを入力します。checkout、checkout / 、cartおよびcart /はデフォルトで宣言されています。
または、combertのサンドボックス:Commerce Clear Cartモジュールは、訪問したときに現在のユーザーのCommerceカートを空にするページを追加するだけです。また、コマースカートビューにそのページへのリンクを追加します。
これが同じ問題を抱えている誰かに役立つことを願っています... Path Rules https://www.drupal.org/project/pathrulesをインストールしました。そこからカスタムルールを作成します... 1.イベント-> Drupalを初期化しています2.パスカート/空を確認します3.アクション:注文からすべての製品を削除します4. gotoパラメーター:URL:[site:url]