_coreRegistry = $coreRegistry; parent::__construct($context); } /** * Edit sitemap * * @return void * @SuppressWarnings(PHPMD.NPathComplexity) */ public function execute() { // 1. Get ID and create model $id = $this->getRequest()->getParam('sitemap_id'); $model = $this->_objectManager->create(\Magento\Sitemap\Model\Sitemap::class); // 2. Initial checking if ($id) { $model->load($id); if (!$model->getId()) { $this->messageManager->addErrorMessage(__('This sitemap no longer exists.')); $this->_redirect('adminhtml/*/'); return; } } // 3. Set entered data if was error when we do save $data = $this->_objectManager->get(\Magento\Backend\Model\Session::class)->getFormData(true); if (!empty($data)) { $model->setData($data); } // 4. Register model to use later in blocks $this->_coreRegistry->register('sitemap_sitemap', $model); // 5. Build edit form $this->_initAction()->_addBreadcrumb( $id ? __('Edit Sitemap') : __('New Sitemap'), $id ? __('Edit Sitemap') : __('New Sitemap') )->_addContent( $this->_view->getLayout()->createBlock(\Magento\Sitemap\Block\Adminhtml\Edit::class) ); $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Site Map')); $this->_view->getPage()->getConfig()->getTitle()->prepend( $model->getId() ? $model->getSitemapFilename() : __('New Site Map') ); $this->_view->renderLayout(); } }