在 Magento 2 平台上运行您的商店时,可以获得购物车商品、小计、总计、账单和送货地址的数据。本指南将应用于​​许多与购物车信息相关的功能开发流程,例如共享购物车或保存购物车。因此,在本文中,我们将向您展示如何使用代码获取数据。

Magento 2 中检索购物车商品、小计、总计、账单和送货地址数据的概述

您可以获取购物车商品的整体或单独信息,例如小计、总计以及账单和送货地址。这里有四种方法:

  • 在您的购物车中获取所有需要的信息。
  • 获取购物车中的商品数量和购物车中的总数量。
  • 获取购物车中商品的基本总价和总价。
  • 获取选定的帐单和送货地址。

在您的购物车中获取所有需要的信息。

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cart = $objectManager->get('\Magento\Checkout\Model\Cart'); 
 
// get quote items collection
$itemsCollection = $cart->getQuote()->getItemsCollection();
 
// get array of all items what can be display directly
$itemsVisible = $cart->getQuote()->getAllVisibleItems();
 
// get quote items array
$items = $cart->getQuote()->getAllItems();
 
foreach($items as $item) {
    echo 'ID: '.$item->getProductId().'<br />';
    echo 'Name: '.$item->getName().'<br />';
    echo 'Sku: '.$item->getSku().'<br />';
    echo 'Quantity: '.$item->getQty().'<br />';
    echo 'Price: '.$item->getPrice().'<br />';
    echo "<br />";            
}

获取购物车中的商品数量和购物车中的总数量。

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cart = $objectManager->get('\Magento\Checkout\Model\Cart'); 
 
$totalItems = $cart->getQuote()->getItemsCount();
$totalQuantity = $cart->getQuote()->getItemsQty();

获取购物车中商品的基本总价和总价。

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cart = $objectManager->get('\Magento\Checkout\Model\Cart'); 
 
$subTotal = $cart->getQuote()->getSubtotal();
$grandTotal = $cart->getQuote()->getGrandTotal();

获取选定的帐单和送货地址。

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$cart = $objectManager->get('\Magento\Checkout\Model\Cart'); 
 
$billingAddress = $cart->getQuote()->getBillingAddress();
echo '<pre>'; print_r($billingAddress->getData()); echo '</pre>';
 
$shippingAddress = $cart->getQuote()->getShippingAddress();
echo '<pre>'; print_r($shippingAddress->getData()); echo '</pre>';