/** * Delete action * * @return \Magento\Backend\Model\View\Result\Redirect */ public function execute() { $id = $this->getRequest()->getParam('group_id'); /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); if ($id) { try { /** @var \Magento\Search\Model\SynonymGroup $synGroupModel */ $synGroupModel = $this->synGroupRepository->get($id); $this->synGroupRepository->delete($synGroupModel); $this->messageManager->addSuccess(__('The synonym group has been deleted.')); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->messageManager->addError($e->getMessage()); $this->logger->error($e); } catch (\Exception $e) { $this->messageManager->addError(__('An error was encountered while performing delete operation.')); $this->logger->error($e); } } else { $this->messageManager->addError(__('We can\'t find a synonym group to delete.')); } return $resultRedirect->setPath('*/*/'); }
/** * Execute action * * @return \Magento\Backend\Model\View\Result\Redirect * @throws \Magento\Framework\Exception\LocalizedException|\Exception */ public function execute() { $collection = $this->filter->getCollection($this->collectionFactory->create()); $collectionSize = $collection->getSize(); $deletedItems = 0; foreach ($collection as $synonymGroup) { try { $this->synGroupRepository->delete($synonymGroup); $deletedItems++; } catch (\Exception $e) { $this->messageManager->addError($e->getMessage()); } } if ($deletedItems != 0) { if ($collectionSize != $deletedItems) { $this->messageManager->addError(__('Failed to delete %1 synonym group(s).', $collectionSize - $deletedItems)); } $this->messageManager->addSuccess(__('A total of %1 synonym group(s) have been deleted.', $deletedItems)); } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(\Magento\Framework\Controller\ResultFactory::TYPE_REDIRECT); return $resultRedirect->setPath('*/*/'); }