Today we talk about how in Magento 2 shopping cart items subtotal grand total billing shipping address. In this tutorial you will learn how to get data of shopping cart item detail example product name, product sku, price and quantity and cart total item count, cart item total quantity, cart subtotal, cart grand total also quote shipping address and quote billing address. There are two method of get the cart detail. One is inject the class \Magento\Checkout\Model\Session in your block and get data from it. Second is use the object manager to get data.
Dependency Injection
<?php
namespace QaisarSatti\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{
public $_checkoutSession;
public function __construct(
\Magento\Checkout\Model\Session $checkoutSession,
) {
$this->_checkoutSession = $checkoutSession;
}
}
namespace QaisarSatti\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{
public $_checkoutSession;
public function __construct(
\Magento\Checkout\Model\Session $checkoutSession,
) {
$this->_checkoutSession = $checkoutSession;
}
}
Get cart information in phtml file.
//Get session object in phtml file
$getCurrentQuote = $block->_checkoutSession->getQuote();
$getAllitems = $getCurrentQuote->getAllItems();
foreach($getAllitems as $item) {
echo 'Product 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 /><br />";
}
// Get cart total items and total quantity
$totalItems = $getCurrentQuote->getItemsCount();
$totalQuantity = $getCurrentQuote->getItemsQty();
//get cart subtotal and grand total
$subTotal = $getCurrentQuote->getSubtotal();
$grandTotal = $getCurrentQuote->getGrandTotal();
//get cartbilling and shipping addresses
$billing = $getCurrentQuote->getBillingAddress();
$shipping = $getCurrentQuote->getShippingAddress();
$getCurrentQuote = $block->_checkoutSession->getQuote();
$getAllitems = $getCurrentQuote->getAllItems();
foreach($getAllitems as $item) {
echo 'Product 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 /><br />";
}
// Get cart total items and total quantity
$totalItems = $getCurrentQuote->getItemsCount();
$totalQuantity = $getCurrentQuote->getItemsQty();
//get cart subtotal and grand total
$subTotal = $getCurrentQuote->getSubtotal();
$grandTotal = $getCurrentQuote->getGrandTotal();
//get cartbilling and shipping addresses
$billing = $getCurrentQuote->getBillingAddress();
$shipping = $getCurrentQuote->getShippingAddress();
Object Manager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$getCurrentQuote = $objectManager->get('\Magento\Checkout\Model\Session');
$getAllitems = $getCurrentQuote->getAllItems();
foreach($getAllitems as $item) {
echo 'Product 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 /><br />";
}
// Get cart total items and total quantity
$totalItems = $getCurrentQuote->getItemsCount();
$totalQuantity = $getCurrentQuote->getItemsQty();
//get cart subtotal and grand total
$subTotal = $getCurrentQuote->getSubtotal();
$grandTotal = $getCurrentQuote->getGrandTotal();
//get cartbilling and shipping addresses
$billing = $getCurrentQuote->getBillingAddress();
$shipping = $getCurrentQuote->getShippingAddress();
$getCurrentQuote = $objectManager->get('\Magento\Checkout\Model\Session');
$getAllitems = $getCurrentQuote->getAllItems();
foreach($getAllitems as $item) {
echo 'Product 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 /><br />";
}
// Get cart total items and total quantity
$totalItems = $getCurrentQuote->getItemsCount();
$totalQuantity = $getCurrentQuote->getItemsQty();
//get cart subtotal and grand total
$subTotal = $getCurrentQuote->getSubtotal();
$grandTotal = $getCurrentQuote->getGrandTotal();
//get cartbilling and shipping addresses
$billing = $getCurrentQuote->getBillingAddress();
$shipping = $getCurrentQuote->getShippingAddress();