Edit.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Newsletter\Controller\Adminhtml\Template;
  8. use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
  9. class Edit extends \Magento\Newsletter\Controller\Adminhtml\Template implements HttpGetActionInterface
  10. {
  11. /**
  12. * Core registry
  13. *
  14. * @var \Magento\Framework\Registry
  15. */
  16. protected $_coreRegistry = null;
  17. /**
  18. * @param \Magento\Backend\App\Action\Context $context
  19. * @param \Magento\Framework\Registry $coreRegistry
  20. */
  21. public function __construct(\Magento\Backend\App\Action\Context $context, \Magento\Framework\Registry $coreRegistry)
  22. {
  23. $this->_coreRegistry = $coreRegistry;
  24. parent::__construct($context);
  25. }
  26. /**
  27. * Edit Newsletter Template
  28. *
  29. * @return void
  30. */
  31. public function execute()
  32. {
  33. $model = $this->_objectManager->create(\Magento\Newsletter\Model\Template::class);
  34. $id = $this->getRequest()->getParam('id');
  35. if ($id) {
  36. $model->load($id);
  37. }
  38. $this->_coreRegistry->register('_current_template', $model);
  39. $this->_view->loadLayout();
  40. $this->_setActiveMenu('Magento_Newsletter::newsletter_template');
  41. if ($model->getId()) {
  42. $breadcrumbTitle = __('Edit Template');
  43. $breadcrumbLabel = $breadcrumbTitle;
  44. } else {
  45. $breadcrumbTitle = __('New Template');
  46. $breadcrumbLabel = __('Create Newsletter Template');
  47. }
  48. $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Newsletter Templates'));
  49. $this->_view->getPage()->getConfig()->getTitle()->prepend(
  50. $model->getId() ? $model->getTemplateCode() : __('New Template')
  51. );
  52. $this->_addBreadcrumb($breadcrumbLabel, $breadcrumbTitle);
  53. // restore data
  54. $values = $this->_getSession()->getData('newsletter_template_form_data', true);
  55. if ($values) {
  56. $model->addData($values);
  57. }
  58. $this->_view->renderLayout();
  59. }
  60. }