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 
10 
12 {
18  public function execute()
19  {
20  $request = $this->getRequest();
21  $id = $this->getRequest()->getParam('id');
22 
23  $template = $this->_initTemplate('id');
24  if (!$template->getId() && $id) {
25  $this->messageManager->addErrorMessage(__('This email template no longer exists.'));
26  $this->_redirect('adminhtml/*/');
27  return;
28  }
29 
30  try {
31  $template->setTemplateSubject(
32  $request->getParam('template_subject')
33  )->setTemplateCode(
34  $request->getParam('template_code')
35  )->setTemplateText(
36  $request->getParam('template_text')
37  )->setTemplateStyles(
38  $request->getParam('template_styles')
39  )->setModifiedAt(
40  $this->_objectManager->get(\Magento\Framework\Stdlib\DateTime\DateTime::class)->gmtDate()
41  )->setOrigTemplateCode(
42  $request->getParam('orig_template_code')
43  )->setOrigTemplateVariables(
44  $request->getParam('orig_template_variables')
45  );
46 
47  if (!$template->getId()) {
48  $template->setTemplateType(TemplateTypesInterface::TYPE_HTML);
49  }
50 
51  if ($request->getParam('_change_type_flag')) {
52  $template->setTemplateType(TemplateTypesInterface::TYPE_TEXT);
53  $template->setTemplateStyles('');
54  }
55 
56  $template->save();
57  $this->_objectManager->get(\Magento\Backend\Model\Session::class)->setFormData(false);
58  $this->messageManager->addSuccessMessage(__('You saved the email template.'));
59  $this->_redirect('adminhtml/*');
60  } catch (\Exception $e) {
61  $this->_objectManager->get(
62  \Magento\Backend\Model\Session::class
63  )->setData(
64  'email_template_form_data',
65  $request->getParams()
66  );
67  $this->messageManager->addErrorMessage($e->getMessage());
68  $this->_forward('new');
69  }
70  }
71 }
_initTemplate($idFieldName='template_id')
Definition: Template.php:46
$id
Definition: fieldset.phtml:14
__()
Definition: __.php:13
_forward($action, $controller=null, $module=null, array $params=null)
$template
Definition: export.php:12