I have created plugin for UpdateItemQty controller.
UpdateItemQty.php:
<?php
/**
* @author Ronak Chauhan
*/
namespace MyModuleCheckoutPluginControllerCart;
use Closure;
use Exception;
use MagentoCheckoutControllerCartUpdateItemQty as ParentClass;
use MagentoCheckoutModelCartRequestQuantityProcessor;
use MagentoFrameworkAppRequestInterface;
use MagentoFrameworkSerializeSerializerJson;
use MyModuleCheckoutHelperData;
class UpdateItemQty
{
/** @var Json */
protected $json;
/** @var Data */
protected $helper;
/** @var RequestInterface */
protected $request;
/** @var RequestQuantityProcessor */
private $quantityProcessor;
public function __construct(
Json $json,
Data $helper,
RequestQuantityProcessor $quantityProcessor,
RequestInterface $request
) {
$this->json = $json;
$this->helper = $helper;
$this->request = $request;
$this->quantityProcessor = $quantityProcessor;
}
/**
* @param ParentClass $subject
* @param Closure $proceed
*
* @return mixed
*/
public function aroundExecute(ParentClass $subject, Closure $proceed)
{
try {
$cartRequestData = $this->request->getParam('cart');
$cartData = $this->quantityProcessor->process($cartRequestData);
if (true) {
$cartRestrictionError = __(
"We are happy that you like so many products! Unfortunately, %1 is the limit for number of items in your shopping cart.",
10
);
return $subject->getResponse()->representJson(
$this->json->serialize(
$this->helper->getResponseData(
mb_strtoupper($cartRestrictionError, 'UTF-8')
)
)
);
}
} catch (Exception $e) {
return $subject->getResponse()->representJson(
$this->json->serialize($this->helper->getResponseData($e->getMessage()))
);
}
return $proceed();
}
}
In above around plugin as well as Original controller i have checked current store but getting default store only.
If anyone has idea it would be appreciated. Thanks!