Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
edit.phtml
Go to the documentation of this file.
1 <?php
8 
9 // @codingStandardsIgnoreFile
10 
11 /* @var $block \Magento\Newsletter\Block\Adminhtml\Template\Edit */
12 
13 ?>
14 <form action="<?= $block->escapeUrl($block->getSaveUrl()) ?>" method="post" id="newsletter_template_edit_form">
15  <?= $block->getBlockHtml('formkey') ?>
16  <div class="no-display">
17  <input type="hidden" id="change_flag_element" name="_change_type_flag" value="" />
18  <input type="hidden" id="save_as_flag" name="_save_as_flag" value="<?= $block->escapeHtmlAttr($block->getSaveAsFlag()) ?>" />
19  </div>
20  <?= /* @noEscape */ $block->getForm() ?>
21 </form>
22 <form action="<?= $block->escapeUrl($block->getPreviewUrl()) ?>" method="get" id="newsletter_template_preview_form" target="_blank">
23  <div class="no-display">
24  <input type="hidden" id="preview_type" name="type" value="<?= /* @noEscape */ $block->isTextType() ? 1 : 2 ?>" />
25  <input type="hidden" id="preview_text" name="text" value="" />
26  <input type="hidden" id="preview_styles" name="styles" value="" />
27  <input type="hidden" id="preview_id" name="id" value="" />
28  </div>
29 </form>
30 <script>
31 require([
32  'jquery',
33  'wysiwygAdapter',
34  'Magento_Ui/js/modal/prompt',
35  'Magento_Ui/js/modal/confirm',
36  'mage/mage',
37  'prototype'
38 ], function (jQuery, wysiwyg, prompt, confirm) {
39 
40 //<![CDATA[
41  jQuery('#newsletter_template_edit_form').mage('form').mage('validation');
42  jQuery('#newsletter_template_preview_form').mage('form').mage('validation');
43  var templateControl = {
44 
45  unconvertedText: '',
46  typeChange: false,
47  templateName: false,
48  id: 'text',
49 
50  events: {
51  'click [data-role=template-save]': 'save',
52  'click [data-role=template-save-as]': 'saveAs',
53  'click [data-role=template-preview]': 'preview',
54  'click [data-role=template-unstrip]': 'unStripTags',
55  'click [data-role=template-strip]': 'stripTags',
56  'click [data-role=template-delete]': 'deleteTemplate'
57  },
58 
59  init: function () {
60  if ($('convert_button_back')) {
61  $('convert_button_back').hide();
62  }
63 
64  wysiwyg.id = this.id;
65 
66  this.bindEvents();
67  },
68 
69  bindEvents: function () {
70  var events = this.events,
71  eventName,
72  selector,
73  callback,
74  key;
75 
76  for (key in events) {
77  if (!events.hasOwnProperty(key)) {
78  continue;
79  }
80 
81  callback = this[events[key]];
82  key = key.split(' ');
83 
84  eventName = key[0];
85  selector = key.slice(1).join(' ');
86 
87  jQuery(selector).on(eventName, jQuery.proxy(callback, this));
88  }
89  },
90 
91  stripTags: function () {
92  var self = this;
93 
94  confirm({
95  content: "<?= $block->escapeJs($block->escapeHtml(__('Are you sure that you want to strip all tags?'))) ?>",
96  actions: {
97  confirm: function () {
98  if (wysiwyg.activeEditor()) {
99  wysiwyg.turnOff();
100  wysiwyg.getToggleButton().hide();
101  }
102  self.unconvertedText = $(self.id).value;
103  $('convert_button').hide();
104  $('convert_button_back').show();
105  $(self.id).value = $(self.id).value.stripScripts().stripTags();
106  $('field_template_styles').hide();
107  self.typeChange = true;
108  }
109  }
110  });
111 
112  },
113 
114  unStripTags: function () {
115  $('convert_button').show();
116  $('convert_button_back').hide();
117  $(this.id).value = this.unconvertedText;
118  if (wysiwyg.activeEditor()) {
119  wysiwyg.turnOn();
120  wysiwyg.getToggleButton().show();
121  }
122  this.typeChange = false;
123  $('field_template_styles').show();
124  return false;
125  },
126 
127  save: function () {
128  if (this.typeChange) {
129  $('change_flag_element').value = '1';
130  }
131 
132  // Temporary solution will be replaced after refactoring of newsletter functionality
133  jQuery('#newsletter_template_edit_form').triggerHandler('save');
134  return false;
135  },
136 
137  saveAs: function () {
138  var self = this;
139 
140  if (this.typeChange) {
141  $('change_flag_element').value = '1';
142  }
143 
144  if ($F('code').blank() || $F('code') == templateControl.templateName) {
145  prompt({
146  content: '<?= $block->escapeJs($block->escapeHtml(__('Please enter a new template name.'))) ?>',
147  value: templateControl.templateName + '<?= $block->escapeJs(__(' Copy')) ?>',
148  actions: {
149  confirm: function (value) {
150  $('code').value = value;
151  self._saveAs();
152 
153  return false;
154  },
155  cancel: function () {
156  $('code').value = '';
157  // Temporary solution will be replaced after refactoring of newsletter functionality
158  jQuery('#newsletter_template_edit_form').triggerHandler('save');
159  self._saveAs();
160 
161  return false;
162  }
163  }
164  });
165  }
166  },
167 
168  _saveAs: function () {
169  $('save_as_flag').value = '1';
170 
171  // Temporary solution will be replaced after refactoring of newsletter functionality
172  jQuery('#newsletter_template_edit_form').triggerHandler('save');
173  return false;
174  },
175 
176  preview: function () {
177  if (this.typeChange) {
178  $('preview_type').value = <?= $block->escapeJs(TemplateTypesInterface::TYPE_TEXT) ?>;
179  } else {
180  $('preview_type').value = <?= $block->escapeJs($block->getTemplateType()) ?>;
181  }
182 
183  if (wysiwyg.activeEditor()) {
184  $('preview_text').value = wysiwyg.getContent();
185  } else {
186  $('preview_text').value = $(this.id).value;
187  }
188 
189  if ($('template_styles') != undefined) {
190  $('preview_styles').value = $('template_styles').value;
191  }
192 
193  if ($('id') != undefined) {
194  $('preview_id').value = $('id').value;
195  }
196 
197  // Temporary solution will be replaced after refactoring of newsletter functionality
198  jQuery('#newsletter_template_preview_form').triggerHandler('save');
199  return false;
200  },
201 
202  deleteTemplate: function () {
203  confirm({
204  content: "<?= $block->escapeJs($block->escapeHtml(__('Are you sure you want to delete this template?'))) ?>",
205  actions: {
206  confirm: function () {
207  window.location.href = '<?= $block->escapeUrl($block->getDeleteUrl()) ?>';
208  }
209  }
210  });
211  }
212  };
213 
214  templateControl.init();
215  templateControl.templateName = "<?= $block->escapeJs($block->getJsTemplateName()) ?>";
216 //]]>
217 
218 });
219 </script>
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value
Definition: block.php:9
jquery extjs ext tree mage adminhtml form
Definition: tree.phtml:41
$block
Definition: block.php:8
jQuery('.store-switcher .dropdown-menu li a').each(function()
Definition: switcher.phtml:203