Edit.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Cms\Controller\Adminhtml\Block;
  7. use Magento\Framework\App\Action\HttpGetActionInterface;
  8. /**
  9. * Edit CMS block action.
  10. */
  11. class Edit extends \Magento\Cms\Controller\Adminhtml\Block implements HttpGetActionInterface
  12. {
  13. /**
  14. * @var \Magento\Framework\View\Result\PageFactory
  15. */
  16. protected $resultPageFactory;
  17. /**
  18. * @param \Magento\Backend\App\Action\Context $context
  19. * @param \Magento\Framework\Registry $coreRegistry
  20. * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
  21. */
  22. public function __construct(
  23. \Magento\Backend\App\Action\Context $context,
  24. \Magento\Framework\Registry $coreRegistry,
  25. \Magento\Framework\View\Result\PageFactory $resultPageFactory
  26. ) {
  27. $this->resultPageFactory = $resultPageFactory;
  28. parent::__construct($context, $coreRegistry);
  29. }
  30. /**
  31. * Edit CMS block
  32. *
  33. * @return \Magento\Framework\Controller\ResultInterface
  34. * @SuppressWarnings(PHPMD.NPathComplexity)
  35. */
  36. public function execute()
  37. {
  38. // 1. Get ID and create model
  39. $id = $this->getRequest()->getParam('block_id');
  40. $model = $this->_objectManager->create(\Magento\Cms\Model\Block::class);
  41. // 2. Initial checking
  42. if ($id) {
  43. $model->load($id);
  44. if (!$model->getId()) {
  45. $this->messageManager->addErrorMessage(__('This block no longer exists.'));
  46. /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
  47. $resultRedirect = $this->resultRedirectFactory->create();
  48. return $resultRedirect->setPath('*/*/');
  49. }
  50. }
  51. $this->_coreRegistry->register('cms_block', $model);
  52. // 5. Build edit form
  53. /** @var \Magento\Backend\Model\View\Result\Page $resultPage */
  54. $resultPage = $this->resultPageFactory->create();
  55. $this->initPage($resultPage)->addBreadcrumb(
  56. $id ? __('Edit Block') : __('New Block'),
  57. $id ? __('Edit Block') : __('New Block')
  58. );
  59. $resultPage->getConfig()->getTitle()->prepend(__('Blocks'));
  60. $resultPage->getConfig()->getTitle()->prepend($model->getId() ? $model->getTitle() : __('New Block'));
  61. return $resultPage;
  62. }
  63. }