Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Save.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Framework\App\Action\HttpPostActionInterface as HttpPostActionInterface;
12 
13 class Save extends \Magento\Newsletter\Controller\Adminhtml\Template implements HttpPostActionInterface
14 {
20  public function execute()
21  {
22  $request = $this->getRequest();
23  if (!$request->isPost()) {
24  $this->getResponse()->setRedirect($this->getUrl('*/template'));
25  return;
26  }
27  $template = $this->_objectManager->create(\Magento\Newsletter\Model\Template::class);
28 
29  $id = (int)$request->getParam('id');
30  if ($id) {
31  $template->load($id);
32  }
33 
34  try {
35  $template->addData(
36  $request->getParams()
37  )->setTemplateSubject(
38  $request->getParam('subject')
39  )->setTemplateCode(
40  $request->getParam('code')
41  )->setTemplateSenderEmail(
42  $request->getParam('sender_email')
43  )->setTemplateSenderName(
44  $request->getParam('sender_name')
45  )->setTemplateText(
46  $request->getParam('text')
47  )->setTemplateStyles(
48  $request->getParam('styles')
49  )->setModifiedAt(
50  $this->_objectManager->get(\Magento\Framework\Stdlib\DateTime\DateTime::class)->gmtDate()
51  );
52 
53  if (!$template->getId()) {
54  $template->setTemplateType(TemplateTypesInterface::TYPE_HTML);
55  }
56  if ($this->getRequest()->getParam('_change_type_flag')) {
57  $template->setTemplateType(TemplateTypesInterface::TYPE_TEXT);
58  $template->setTemplateStyles('');
59  }
60  if ($this->getRequest()->getParam('_save_as_flag')) {
61  $template->setId(null);
62  }
63 
64  $template->save();
65 
66  $this->messageManager->addSuccess(__('The newsletter template has been saved.'));
67  $this->_getSession()->setFormData(false);
68  $this->_getSession()->unsPreviewData();
69  $this->_redirect('*/template');
70  return;
71  } catch (LocalizedException $e) {
72  $this->messageManager->addError(nl2br($e->getMessage()));
73  $this->_getSession()->setData('newsletter_template_form_data', $this->getRequest()->getParams());
74  } catch (\Exception $e) {
75  $this->messageManager->addException($e, __('Something went wrong while saving this template.'));
76  $this->_getSession()->setData('newsletter_template_form_data', $this->getRequest()->getParams());
77  }
78 
79  $this->_forward('new');
80  }
81 }
$id
Definition: fieldset.phtml:14
__()
Definition: __.php:13
_forward($action, $controller=null, $module=null, array $params=null)
$template
Definition: export.php:12