Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Delete.php
Go to the documentation of this file.
1 <?php
8 
10 {
16  const ADMIN_RESOURCE = 'Magento_Cms::page_delete';
17 
23  public function execute()
24  {
25  // check if we know what should be deleted
26  $id = $this->getRequest()->getParam('page_id');
28  $resultRedirect = $this->resultRedirectFactory->create();
29 
30  if ($id) {
31  $title = "";
32  try {
33  // init model and delete
34  $model = $this->_objectManager->create(\Magento\Cms\Model\Page::class);
35  $model->load($id);
36 
37  $title = $model->getTitle();
38  $model->delete();
39 
40  // display success message
41  $this->messageManager->addSuccessMessage(__('The page has been deleted.'));
42 
43  // go to grid
44  $this->_eventManager->dispatch('adminhtml_cmspage_on_delete', [
45  'title' => $title,
46  'status' => 'success'
47  ]);
48 
49  return $resultRedirect->setPath('*/*/');
50  } catch (\Exception $e) {
51  $this->_eventManager->dispatch(
52  'adminhtml_cmspage_on_delete',
53  ['title' => $title, 'status' => 'fail']
54  );
55  // display error message
56  $this->messageManager->addErrorMessage($e->getMessage());
57  // go back to edit form
58  return $resultRedirect->setPath('*/*/edit', ['page_id' => $id]);
59  }
60  }
61 
62  // display error message
63  $this->messageManager->addErrorMessage(__('We can\'t find a page to delete.'));
64 
65  // go to grid
66  return $resultRedirect->setPath('*/*/');
67  }
68 }
$title
Definition: default.phtml:14
$id
Definition: fieldset.phtml:14
__()
Definition: __.php:13