我想得到:
我有以下内容:
$store_id = 1;
$order_type = 'default';
$entity_manager = \Drupal::entityManager();
$cart_manager = \Drupal::service('commerce_cart.cart_manager');
$cart_provider = \Drupal::service('commerce_cart.cart_provider');
$store = $entity_manager->getStorage('commerce_store')->load($store_id);
$cart = $cart_provider->getCart($order_type, $store);
if(isset($cart)){
$itemNum = count($cart->getItems());
($itemNum > 0) ? $variables['items_in_cart'] = $itemNum : '';
}
$cart .= 'Subtotal: '.$cart->getSubtotalPrice();
$cart .= '<br>Total price: '.$cart->getTotalPrice();
$cart .= '<br>Created: '.$cart->getCreatedTime();
$cart .= '<br>Customer id: '.$cart->getCustomerId();
$cart .= '<br>Email: '.$cart->getEmail();
$cart .= '<br>IP address: '.$cart->getIpAddress();
$cart .= '<br>Item num. in cart: '.$itemNum;
答案 0 :(得分:1)
您需要加载Product store, cart and variation entity
,需要从加载的产品中获取产品版本ID,然后提取Order ID for the current user, All product variation ID from the current users cart, Prices for Product variations, Images, Titles
。
$product_variation = $event->getEntity();
$current_store = \Drupal::service('commerce_store.current_store');
$store = $current_store->getStore();
$cart_provider = \Drupal::service('commerce_cart.cart_provider');
$cart = $cart_provider->getCart("default", $store);
foreach ($cart->getItems() as $order_item) {
$productType = $order_item->getPurchasedEntity()->get('type')[0]->get('target_id')->getValue();
// ksm("Order Item", $order_item);
// For getting custom and variation field value.
//$field_custom_value = $product_variation->get('field_custom_value')[0]->get('target_id')->getValue();
$order_no = $order_item->get('purchased_entity')[0]->get('target_id')->getValue();
ksm("Order No", $order_no);
$order_no_id = $order_item->get('order_item_id')[0]->get('value')->getValue();
ksm("Order No Id", $order_no_id);
}