Hello.
I am trying to remove the commented lines.
However when I remove it and compile the custom module from Terminal, it receives an error.
Errors during compilation: Missed required argument checkoutSession in parent::__construct call.
I wonder why it happens. I only deleted unused code such as:
//use Magento\Framework\View\Result\PageFactory
This is the beginning of my class.
use \Magento\Framework\Event\ObserverInterface; use Magento\Framework\Controller\ResultFactory; //use Magento\Framework\View\Result\PageFactory; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; //use Magento\Framework\Controller\Result\JsonFactory; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\Serialize\SerializerInterface; class UpdatePost extends \Magento\Checkout\Controller\Cart { /** * @var \Magento\Framework\Registry */ protected $_registry; protected $eventManager; protected $_checkoutSession; protected $_logger; protected $_customerSession; protected $jsonResultFactory; protected $jsonHelper; protected $context; protected $resultFactory; protected $scopeConfig; protected $request; protected $data; protected $_layout; public function _construct( \Magento\Checkout\Model\Session $checkoutSession, \Magento\Framework\Registry $registry, \Magento\Framework\Event\Manager $eventManager, \Magento\Checkout\Model\Cart $cart, \Psr\Log\LoggerInterface $logger, \Magento\Customer\Model\Session $customerSession, Context $context, array $data = [], \Magento\Framework\Json\Helper\Data $jsonHelper, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\View\LayoutInterface $layout ) { $this->_checkoutSession = $checkoutSession; $this->_registry = $registry; $this->eventManager = $eventManager; $this->cart = $cart; $this->_logger = $logger; $this->_customerSession = $customerSession; $this->context = $context; $this->jsonHelper = $jsonHelper; $this->data = $data; $this->scopeConfig = $scopeConfig; parent::__construct($context, $data); $this->_layout = $layout; }
Solved! Go to Solution.
Just replace below code with your existing code and check.
use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Controller\ResultFactory; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\Serialize\SerializerInterface; class UpdatePost extends \Magento\Checkout\Controller\Cart { /** * @var \Magento\Framework\Registry */ protected $_registry; protected $eventManager; protected $_checkoutSession; protected $_logger; protected $_customerSession; protected $jsonResultFactory; protected $jsonHelper; protected $context; protected $resultFactory; protected $scopeConfig; protected $request; protected $data; protected $_layout; public function _construct( \Magento\Checkout\Model\Session $checkoutSession, \Magento\Framework\Registry $registry, \Magento\Framework\Event\Manager $eventManager, \Magento\Checkout\Model\Cart $cart, \Psr\Log\LoggerInterface $logger, \Magento\Customer\Model\Session $customerSession, \Magento\Framework\Json\Helper\Data $jsonHelper, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\View\LayoutInterface $layout, Context $context, array $data = [] ) { $this->_checkoutSession = $checkoutSession; $this->_registry = $registry; $this->eventManager = $eventManager; $this->cart = $cart; $this->_logger = $logger; $this->_customerSession = $customerSession; $this->context = $context; $this->jsonHelper = $jsonHelper; $this->scopeConfig = $scopeConfig; $this->data = $data; $this->_layout = $layout; parent::__construct($context, $data); }
After replacing the code - run below commands :
Just replace below code with your existing code and check.
use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Controller\ResultFactory; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\Serialize\SerializerInterface; class UpdatePost extends \Magento\Checkout\Controller\Cart { /** * @var \Magento\Framework\Registry */ protected $_registry; protected $eventManager; protected $_checkoutSession; protected $_logger; protected $_customerSession; protected $jsonResultFactory; protected $jsonHelper; protected $context; protected $resultFactory; protected $scopeConfig; protected $request; protected $data; protected $_layout; public function _construct( \Magento\Checkout\Model\Session $checkoutSession, \Magento\Framework\Registry $registry, \Magento\Framework\Event\Manager $eventManager, \Magento\Checkout\Model\Cart $cart, \Psr\Log\LoggerInterface $logger, \Magento\Customer\Model\Session $customerSession, \Magento\Framework\Json\Helper\Data $jsonHelper, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\View\LayoutInterface $layout, Context $context, array $data = [] ) { $this->_checkoutSession = $checkoutSession; $this->_registry = $registry; $this->eventManager = $eventManager; $this->cart = $cart; $this->_logger = $logger; $this->_customerSession = $customerSession; $this->context = $context; $this->jsonHelper = $jsonHelper; $this->scopeConfig = $scopeConfig; $this->data = $data; $this->_layout = $layout; parent::__construct($context, $data); }
After replacing the code - run below commands :