resultPageFactory = $resultPageFactory; $this->_coreRegistry = $registry; parent::__construct($context); } /** * {@inheritdoc} */ protected function _isAllowed() { return true; } /** * Init actions * * @return \Magento\Backend\Model\View\Result\Page */ protected function _initAction() { // load layout, set active menu and breadcrumbs /** @var \Magento\Backend\Model\View\Result\Page $resultPage */ $resultPage = $this->resultPageFactory->create(); $resultPage->setActiveMenu('Emizentech_Banner::banner') ->addBreadcrumb(__('Emizentech Banner'), __('Emizentech Banner')) ->addBreadcrumb(__('Manage Item'), __('Manage Item')); return $resultPage; } /** * Edit Item * * @return \Magento\Backend\Model\View\Result\Page|\Magento\Backend\Model\View\Result\Redirect * @SuppressWarnings(PHPMD.NPathComplexity) */ public function execute() { // 1. Get ID and create model $id = $this->getRequest()->getParam('banner_id'); $model = $this->_objectManager->create('Emizentech\Banner\Model\Banner'); // 2. Initial checking if ($id) { $model->load($id); if (!$model->getId()) { $this->messageManager->addError(__('This item no longer exists.')); /** \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); return $resultRedirect->setPath('*/*/'); } } // 3. Set entered data if was error when we do save $data = $this->_objectManager->get('Magento\Backend\Model\Session')->getFormData(true); if (!empty($data)) { $model->setData($data); } // 4. Register model to use later in blocks $this->_coreRegistry->register('banner', $model); // 5. Build edit form /** @var \Magento\Backend\Model\View\Result\Page $resultPage */ $resultPage = $this->_initAction(); $resultPage->addBreadcrumb(__('Emizentech'), __('Emizentech')); $resultPage->addBreadcrumb( $id ? __('Edit Item') : __('New Item'), $id ? __('Edit Item') : __('New Item') ); $resultPage->getConfig()->getTitle()->prepend(__('Edit Item')); $resultPage->getConfig()->getTitle() ->prepend($model->getId() ? $model->getTitle() : __('New Item')); return $resultPage; } }