13 <?php
if (!
$block->getEditMode()): ?>
14 <
form action=
"<?= $block->escapeUrl($block->getLoadUrl()) ?>" method=
"post" id=
"email_template_load_form">
15 <?=
$block->getBlockHtml(
'formkey') ?>
16 <fieldset
class=
"admin__fieldset form-inline">
17 <legend
class=
"admin__legend"><span><?=
$block->escapeHtml(
__(
'Load default template')) ?></span></legend><br>
18 <div
class=
"admin__field">
19 <label
class=
"admin__field-label" for=
"template_select"><?=
$block->escapeHtml(
__(
'Template')) ?></label>
20 <div
class=
"admin__field-control">
21 <select
id=
"template_select" name=
"code" class=
"admin__control-select required-entry">
24 <optgroup label=
"<?= $block->escapeHtmlAttr($group) ?>">
27 <option
value=
"<?= $block->escapeHtmlAttr($option['value']) ?>"<?=
$block->getOrigTemplateCode() ==
$option[
'value'] ?
' selected="selected"' :
'' ?>><?=
$block->escapeHtml(
$option[
'label']) ?></option>
36 <div
class=
"admin__field required">
37 <span
class=
"admin__field-label"></span>
38 <div
class=
"admin__field-control">
39 <?=
$block->getLoadButtonHtml() ?>
46 <
form action=
"<?= $block->escapeUrl($block->getSaveUrl()) ?>" method=
"post" id=
"email_template_edit_form">
47 <?=
$block->getBlockHtml(
'formkey') ?>
48 <input type=
"hidden" id=
"change_flag_element" name=
"_change_type_flag" value=
"" />
49 <input type=
"hidden" id=
"orig_template_code" name=
"orig_template_code" value=
"<?= $block->escapeHtmlAttr($block->getOrigTemplateCode()) ?>" />
50 <?=
$block->getFormHtml() ?>
53 <
form action=
"<?= $block->escapeUrl($block->getPreviewUrl()) ?>" method=
"post" id=
"email_template_preview_form" target=
"_blank">
54 <?=
$block->getBlockHtml(
'formkey') ?>
55 <div
class=
"no-display">
56 <input type=
"hidden" id=
"preview_type" name=
"type" value=
"<?= /* @noEscape */ $block->isTextType() ? 1 : 2 ?>" />
57 <input type=
"hidden" id=
"preview_text" name=
"text" value=
"" />
58 <input type=
"hidden" id=
"preview_styles" name=
"styles" value=
"" />
65 "Magento_Ui/js/modal/alert",
67 "Magento_Email/js/variables",
69 ],
function(
jQuery, tinyMCE, alert){
72 jQuery(
'#email_template_edit_form').mage(
'form').mage(
'validation');
73 jQuery(
'#email_template_preview_form').mage(
'form').mage(
'validation');
74 jQuery(
'#email_template_load_form').mage(
'validation');
81 'click [data-role=template-save]' :
'save',
82 'click [data-role=template-preview]' :
'preview',
83 'click [data-role=template-unstrip]' :
'unStripTags',
84 'click [data-role=template-strip]' :
'stripTags',
85 'click [data-role=template-delete]':
'deleteTemplate',
86 'click [data-role=template-load]':
'load' 90 if ($(
'convert_button_back')) {
91 $(
'convert_button_back').hide();
96 this.renderPaths(<?=
$block->getCurrentlyUsedForPaths() ?>,
'currently_used_for');
99 bindEvents:
function(){
100 var events = this.events,
106 for( key in events ){
107 callback =
this[events[key]];
108 key = key.split(
' ');
111 selector = key.slice(1).join(
' ');
113 jQuery(selector).on(eventName,
jQuery.proxy(callback,
this) );
117 stripTags:
function () {
118 if(!window.confirm(
"<?= $block->escapeJs($block->escapeHtml(__('Are you sure you want to strip tags?'))) ?>")) {
121 this.unconvertedText = $(
'template_text').
value;
122 $(
'convert_button').hide();
123 $(
'template_text').
value = $(
'template_text').value.stripScripts().replace(
124 new RegExp(
'<style[^>]*>[\\S\\s]*?</style>',
'img'),
'' 125 ).stripTags().strip();
126 $(
'convert_button_back').show();
127 $(
'field_template_styles').hide();
128 this.typeChange =
true;
131 unStripTags:
function () {
132 $(
'convert_button').show();
133 $(
'convert_button_back').hide();
134 $(
'template_text').
value = this.unconvertedText;
135 $(
'field_template_styles').show();
136 this.typeChange =
false;
140 if (this.typeChange) {
141 $(
'change_flag_element').
value =
'1';
144 jQuery(
'#email_template_edit_form').triggerHandler(
'save');
147 preview:
function() {
148 if (this.typeChange) {
149 $(
'preview_type').
value = <?= TemplateTypesInterface::TYPE_TEXT ?>;
151 $(
'preview_type').
value = <?= (
int)
$block->getTemplateType() ?>;
153 if (typeof tinyMCE ==
'undefined' || !tinyMCE.get(
'template_text')) {
154 $(
'preview_text').
value = $(
'template_text').value;
156 $(
'preview_text').
value = tinyMCE.get(
'template_text').getHTML();
159 if ($(
'template_styles') != undefined) {
160 $(
'preview_styles').
value = $(
'template_styles').value;
164 jQuery(
'#email_template_preview_form').triggerHandler(
'save');
168 deleteTemplate:
function() {
169 if(window.confirm(
"<?= $block->escapeJs($block->escapeHtml(__('Are you sure you want to delete this template?'))) ?>")) {
170 window.location.href =
'<?= $block->escapeJs($block->escapeUrl($block->getDeleteUrl())) ?>';
176 if (!
jQuery(
'#email_template_load_form').valid()) {
180 this.variables =
null;
182 new Ajax.Request($(
'email_template_load_form').action, {
183 parameters: Form.serialize($(
'email_template_load_form'),
true),
184 area: $(
'email_template_load_form'),
185 onComplete:
function (transport) {
186 if (transport.responseText.isJSON()) {
187 var fields = $H(transport.responseText.evalJSON());
188 fields.each(
function(pair) {
190 $(pair.key).value = pair.value.strip();
192 if (pair.key ==
'template_type') {
193 if (pair.value == 1) {
194 this.typeChange = true;
195 $(
'convert_button').hide();
196 $(
'convert_button_back').hide();
198 this.typeChange = false;
199 $(
'convert_button_back').hide();
200 $(
'convert_button').show();
203 if (pair.key ==
'orig_template_currently_used_for') {
204 if(pair.value.length){
205 $(
'currently_used_for').show();
206 this.renderPaths(pair.value,
'currently_used_for');
209 $(
'currently_used_for').hide();
215 content:
'<?= $block->escapeJs($block->escapeHtml(__('The
template did not load. Please review the log
for details.
'))) ?>' 223 renderPaths:
function(paths, fieldId) {
224 var field = $(fieldId);
226 field.down(
'div').down(
'div').update(this.parsePath(paths,
'<span class="path-delimiter"> -> </span>',
'<br />'));
230 parsePath:
function (
value, pathDelimiter, lineDelimiter) {
231 if (Object.isArray(
value)) {
233 for (var i = 0, len =
value.length; i < len; i++) {
234 result.push(this.parsePath(
value[i], pathDelimiter, pathDelimiter));
236 return result.join(lineDelimiter);
240 value = (
value.url ?
'<a href="' +
value.url +
'">' +
value.title +
'</a>' :
value.title) + (
value.scope ?
' <span class="path-scope-label">(' +
value.scope +
')</span>' :
'');
246 openVariableChooser:
function() {
247 Variables.init(
'template_text');
248 if (this.variables ==
null) {
249 Variables.resetData();
250 this.variables = $(
'variables').
value.evalJSON();
251 var templateVariablesValue = $(
'template_variables').
value;
252 if (this.variables && templateVariablesValue) {
253 if (templateVariables = templateVariablesValue.evalJSON()) {
254 this.variables.push(templateVariables);
258 if (this.variables) {
259 Variables.openVariableChooser(this.variables);
264 templateControl.init();
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value
if(!isset($_button['disabled'])||! $_button['disabled']) if(isset($_button['disabled']) && $_button['disabled']) if(isset($_button['comment'])) endforeach
if(!defined( 'PHP_VERSION_ID')||!(PHP_VERSION_ID===70002||PHP_VERSION_ID===70004||PHP_VERSION_ID >=70006))
jquery extjs ext tree mage adminhtml form
jQuery('.store-switcher .dropdown-menu li a').each(function()