Skip to content

Instantly share code, notes, and snippets.

@olance
Created December 12, 2018 23:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save olance/7173f31a1e9426959453e04a130142e3 to your computer and use it in GitHub Desktop.
Save olance/7173f31a1e9426959453e04a130142e3 to your computer and use it in GitHub Desktop.
[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>
@olance
Copy link
Author

olance commented Oct 20, 2021

@dmcmillin I’ve created this a few years ago but as far as I can tell & remember, yes you’d need to create the module basics and replace the Vendor\Module accordingly in the files above

@pramodhanu
Copy link

I follow same process. But my plugin is not working. Please help me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment