Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
[MAGENTO 2] Injecting data into Cart data
<?php
namespace Vendor\Module\Plugin\Checkout\CustomerData;
class CartTotals
{
/**
* @var \Magento\Customer\Model\Session
*/
protected $checkoutSession;
/**
* @param \Magento\Checkout\Model\Session $checkoutSession
*/
public function __construct(\Magento\Checkout\Model\Session $checkoutSession) {
$this->checkoutSession = $checkoutSession;
}
/**
* Add cart grand total to result data
*
* @param \Magento\Checkout\CustomerData\Cart $subject
* @param array $result
* @return array
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterGetSectionData(\Magento\Checkout\CustomerData\Cart $subject, $result)
{
$totals = $this->checkoutSession->getQuote()->getTotals();
if(isset($totals['grand_total'])) {
$result['grand_total'] = $totals['grand_total']->getValueInclTax() ?: $totals['grand_total']->getValue();
}
return $result;
}
}
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Checkout\CustomerData\Cart">
<plugin name="cart_totals" type="Vendor\Module\Plugin\Checkout\CustomerData\CartTotals"/>
</type>
</config>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.