getRequest()->getParam('id'); $productId = (int)$this->getRequest()->getParam('product_id'); $quoteItem = null; if ($id) { $quoteItem = $this->cart->getQuote()->getItemById($id); } try { if (!$quoteItem || $productId != $quoteItem->getProduct()->getId()) { $this->messageManager->addErrorMessage( __("The quote item isn't found. Verify the item and try again.") ); return $this->resultFactory->create(ResultFactory::TYPE_REDIRECT)->setPath('checkout/cart'); } $params = new \Magento\Framework\DataObject(); $params->setCategoryId(false); $params->setConfigureMode(true); $params->setBuyRequest($quoteItem->getBuyRequest()); $resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE); $this->_objectManager->get(\Magento\Catalog\Helper\Product\View::class) ->prepareAndRender( $resultPage, $quoteItem->getProduct()->getId(), $this, $params ); return $resultPage; } catch (\Exception $e) { $this->messageManager->addErrorMessage(__('We cannot configure the product.')); $this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e); return $this->_goBack(); } } }