Skip to content

Commit fb69d10

Browse files
authored
Merge pull request #6355 from WoltLab/6.2-acp-form-templates
Refactor acp form templates
2 parents 94edfc4 + 23265d5 commit fb69d10

29 files changed

Lines changed: 222 additions & 207 deletions

wcfsetup/install/files/acp/templates/__objectTypePipGui.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
Language.addObject({
44
'wcf.form.field.className.description.interface': '{jslang __literal=true}wcf.form.field.className.description.interface{/jslang}',
55
{implode from=$definitionNames item=definitionName}
6-
'wcf.acp.pip.objectType.definitionName.{@$definitionName}.description': '{jslang __literal=true __optional=true}wcf.acp.pip.objectType.definitionName.{@$definitionName}.description{/jslang}'
6+
'wcf.acp.pip.objectType.definitionName.{$definitionName}.description': '{jslang __literal=true __optional=true}wcf.acp.pip.objectType.definitionName.{$definitionName}.description{/jslang}'
77
{/implode}
88
});
99
1010
var definitionInterfaces = {
1111
{implode from=$definitionInterfaces key=definitionID item=interfaceName}
12-
{@$definitionID}: '{@$interfaceName|encodeJS}'
12+
{$definitionID}: '{unsafe:$interfaceName|encodeJS}'
1313
{/implode}
1414
};
1515

wcfsetup/install/files/acp/templates/__pageAddContent.tpl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
{if $pageType == 'html' || $pageType == 'tpl'}
44
<ul class="codemirrorToolbar">
5-
<li><button type="button" id="codemirror-{@$__pageContentID}-media" class="jsTooltip" title="{lang}wcf.editor.button.media{/lang}">{icon name='file'}</button></li>
6-
<li><button type="button" id="codemirror-{@$__pageContentID}-page" class="jsTooltip" title="{lang}wcf.editor.button.page{/lang}">{icon name='file-lines'}</button></li>
5+
<li><button type="button" id="codemirror-{$__pageContentID}-media" class="jsTooltip" title="{lang}wcf.editor.button.media{/lang}">{icon name='file'}</button></li>
6+
<li><button type="button" id="codemirror-{$__pageContentID}-page" class="jsTooltip" title="{lang}wcf.editor.button.page{/lang}">{icon name='file-lines'}</button></li>
77
</ul>
88
<script data-relocate="true">
99
{include file='mediaJavaScript'}
@@ -25,27 +25,27 @@
2525
'wcf.page.search.results': '{jslang}wcf.page.search.results{/jslang}',
2626
});
2727
28-
new AcpUiCodeMirrorMedia('{@$__pageContentID}');
29-
new AcpUiCodeMirrorPage('{@$__pageContentID}');
28+
new AcpUiCodeMirrorMedia('{unsafe:$__pageContentID|encodeJS}');
29+
new AcpUiCodeMirrorPage('{unsafe:$__pageContentID|encodeJS}');
3030
});
3131
</script>
3232
{/if}
3333

3434
{if $pageType == 'text'}
35-
<textarea name="content[{@$languageID}]" id="{@$__pageContentID}"
35+
<textarea name="content[{$languageID}]" id="{$__pageContentID}"
3636
{if $pageType == 'text'}
37-
class="wysiwygTextarea" data-disable-attachments="true" data-autosave="com.woltlab.wcf.page{$action|ucfirst}-{if $action == 'edit'}{@$pageID}{else}0{/if}-{@$languageID}"
38-
{if $action === 'edit'}data-autosave-last-edit-time="{@$page->lastUpdateTime}"{/if}
37+
class="wysiwygTextarea" data-disable-attachments="true" data-autosave="com.woltlab.wcf.page{$action|ucfirst}-{if $action == 'edit'}{$pageID}{else}0{/if}-{$languageID}"
38+
{if $action === 'edit'}data-autosave-last-edit-time="{$page->lastUpdateTime}"{/if}
3939
{/if}
4040
>{if !$content[$languageID]|empty}{$content[$languageID]}{/if}</textarea>
4141
{include file='shared_wysiwygCmsToolbar' wysiwygSelector=$__pageContentID}
4242
{include file='shared_wysiwyg' wysiwygSelector=$__pageContentID}
4343
{else}
4444
<div dir="ltr">
45-
<textarea name="content[{@$languageID}]" id="{@$__pageContentID}"
45+
<textarea name="content[{$languageID}]" id="{$__pageContentID}"
4646
{if $pageType == 'text'}
47-
class="wysiwygTextarea" data-disable-attachments="true" data-autosave="com.woltlab.wcf.page{$action|ucfirst}-{if $action == 'edit'}{@$pageID}{else}0{/if}-{@$languageID}"
48-
{if $action === 'edit'}data-autosave-last-edit-time="{@$page->lastUpdateTime}"{/if}
47+
class="wysiwygTextarea" data-disable-attachments="true" data-autosave="com.woltlab.wcf.page{$action|ucfirst}-{if $action == 'edit'}{$pageID}{else}0{/if}-{$languageID}"
48+
{if $action === 'edit'}data-autosave-last-edit-time="{$page->lastUpdateTime}"{/if}
4949
{/if}
5050
>{if !$content[$languageID]|empty}{$content[$languageID]}{/if}</textarea>
5151
</div>

wcfsetup/install/files/acp/templates/__pageObjectIDFormField.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@
3232
{foreach from=$pageNodeList item=pageNode}
3333
{capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.{$pageNode->identifier}{/lang}{/capture}
3434
{if $pageObjectIDLanguageItem}
35-
'wcf.page.pageObjectID.{$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}',
35+
'wcf.page.pageObjectID.{$pageNode->identifier}': '{unsafe:$pageObjectIDLanguageItem|encodeJS}',
3636
{/if}
3737
{capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.search.{$pageNode->identifier}{/lang}{/capture}
3838
{if $pageObjectIDLanguageItem}
39-
'wcf.page.pageObjectID.search.{$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}',
39+
'wcf.page.pageObjectID.search.{$pageNode->identifier}': '{unsafe:$pageObjectIDLanguageItem|encodeJS}',
4040
{/if}
4141
{/foreach}
4242
});

wcfsetup/install/files/acp/templates/adAdd.tpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<script data-relocate="true">
44
$(function() {
55
new WCF.ACP.Ad.LocationHandler({
6-
{implode from=$variablesDescriptions key=objectType item=description}'{$objectType}': '{@$description|encodeJS}'{/implode}
6+
{implode from=$variablesDescriptions key=objectType item=description}'{$objectType}': '{unsafe:$description|encodeJS}'{/implode}
77
});
88
});
99
</script>
@@ -73,7 +73,7 @@
7373
<option value="0"{if !$objectTypeID} selected{/if}>{lang}wcf.global.noSelection{/lang}</option>
7474
{foreach from=$locations key='locationGroupLabel' item='locationGroup'}
7575
{assign var='__firstLocationID' value=$locationGroup|key}
76-
<optgroup label="{$locationGroupLabel}" data-category-name="{@$locationObjectTypes[$__firstLocationID]->categoryname}">
76+
<optgroup label="{$locationGroupLabel}" data-category-name="{$locationObjectTypes[$__firstLocationID]->categoryname}">
7777
{foreach from=$locationGroup key='locationID' item='location'}
7878
<option value="{$locationID}"{if $locationObjectTypes[$locationID]->page} data-page="{$locationObjectTypes[$locationID]->page}"{/if}{if $objectTypeID == $locationID} selected{/if}>{$location}</option>
7979
{/foreach}
@@ -120,7 +120,7 @@
120120
</header>
121121

122122
{foreach from=$groupedConditionObjectTypes['com.woltlab.wcf.page'] item='pageConditionObjectType'}
123-
{@$pageConditionObjectType->getProcessor()->getHtml()}
123+
{unsafe:$pageConditionObjectType->getProcessor()->getHtml()}
124124
{/foreach}
125125
</section>
126126

@@ -131,7 +131,7 @@
131131
</header>
132132

133133
{foreach from=$groupedConditionObjectTypes['com.woltlab.wcf.pointInTime'] item='pointInTimeConditionObjectType'}
134-
{@$pointInTimeConditionObjectType->getProcessor()->getHtml()}
134+
{unsafe:$pointInTimeConditionObjectType->getProcessor()->getHtml()}
135135
{/foreach}
136136
</section>
137137

wcfsetup/install/files/acp/templates/applicationManagement.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@
104104

105105
{foreach from=$pageNodeList item=pageNode}
106106
{if !$pageNode->isDisabled && !$pageNode->requireObjectID && !$pageNode->excludeFromLandingPage}
107-
<option value="{$pageNode->pageID}"{if $pageNode->pageID == $application->landingPageID} selected{/if} data-identifier="{@$pageNode->identifier}">{if $pageNode->getDepth() > 1}{@"&nbsp;&nbsp;&nbsp;&nbsp;"|str_repeat:($pageNode->getDepth() - 1)}{/if}{$pageNode->name}</option>
107+
<option value="{$pageNode->pageID}"{if $pageNode->pageID == $application->landingPageID} selected{/if} data-identifier="{$pageNode->identifier}">{if $pageNode->getDepth() > 1}{unsafe:"&nbsp;&nbsp;&nbsp;&nbsp;"|str_repeat:($pageNode->getDepth() - 1)}{/if}{$pageNode->name}</option>
108108
{/if}
109109
{/foreach}
110110
</select>

wcfsetup/install/files/acp/templates/bbcodeAdd.tpl

Lines changed: 48 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,30 @@
1010
</h2>
1111

1212
<dl>
13-
<dt><label for="attributes[{ldelim}@$attributeNo}][attributeHtml]">{lang}wcf.acp.bbcode.attribute.attributeHtml{/lang}</label></dt>
13+
<dt><label for="attributes[{ldelim}$attributeNo}][attributeHtml]">{lang}wcf.acp.bbcode.attribute.attributeHtml{/lang}</label></dt>
1414
<dd>
15-
<input type="text" id="attributes[{ldelim}@$attributeNo}][attributeHtml]" name="attributes[{ldelim}@$attributeNo}][attributeHtml]" value="" class="long">
15+
<input type="text" id="attributes[{ldelim}$attributeNo}][attributeHtml]" name="attributes[{ldelim}$attributeNo}][attributeHtml]" value="" class="long">
1616
</dd>
1717
</dl>
1818

1919
<dl>
20-
<dt><label for="attributes[{ldelim}@$attributeNo}][validationPattern]">{lang}wcf.acp.bbcode.attribute.validationPattern{/lang}</label></dt>
20+
<dt><label for="attributes[{ldelim}$attributeNo}][validationPattern]">{lang}wcf.acp.bbcode.attribute.validationPattern{/lang}</label></dt>
2121
<dd>
22-
<input type="text" id="attributes[{ldelim}@$attributeNo}][validationPattern]" name="attributes[{ldelim}@$attributeNo}][validationPattern]" value="" class="long">
22+
<input type="text" id="attributes[{ldelim}$attributeNo}][validationPattern]" name="attributes[{ldelim}$attributeNo}][validationPattern]" value="" class="long">
2323
</dd>
2424
</dl>
2525

2626
<dl>
2727
<dt></dt>
2828
<dd>
29-
<label for="attributes[{ldelim}@$attributeNo}][required]"><input type="checkbox" id="attributes[{ldelim}@$attributeNo}][required]" name="attributes[{ldelim}@$attributeNo}][required]" value="1"> {lang}wcf.acp.bbcode.attribute.required{/lang}</label>
29+
<label for="attributes[{ldelim}$attributeNo}][required]"><input type="checkbox" id="attributes[{ldelim}$attributeNo}][required]" name="attributes[{ldelim}$attributeNo}][required]" value="1"> {lang}wcf.acp.bbcode.attribute.required{/lang}</label>
3030
</dd>
3131
</dl>
3232

3333
<dl>
3434
<dt></dt>
3535
<dd>
36-
<label for="attributes[{ldelim}@$attributeNo}][useText]"><input type="checkbox" id="attributes[{ldelim}@$attributeNo}][useText]" name="attributes[{ldelim}@$attributeNo}][useText]" value="1"> {lang}wcf.acp.bbcode.attribute.useText{/lang}</label>
36+
<label for="attributes[{ldelim}$attributeNo}][useText]"><input type="checkbox" id="attributes[{ldelim}$attributeNo}][useText]" name="attributes[{ldelim}$attributeNo}][useText]" value="1"> {lang}wcf.acp.bbcode.attribute.useText{/lang}</label>
3737
<small>{lang}wcf.acp.bbcode.attribute.useText.description{/lang}</small>
3838
</dd>
3939
</dl>
@@ -43,37 +43,45 @@
4343
{/capture}
4444

4545
<script data-relocate="true">
46-
require(['WoltLabSuite/Core/Template'], (Template) => {
47-
$(function() {
48-
$('.jsDeleteButton').click(function (event) {
49-
$(event.target).parent().parent().remove();
46+
require(['WoltLabSuite/Core/Template', 'WoltLabSuite/Core/Dom/Util'], (Template, { hide, show }) => {
47+
document.querySelectorAll('.jsDeleteButton').forEach((btn) => {
48+
btn.addEventListener('click', () => {
49+
btn.closest('.section').remove();
5050
});
51-
52-
var attributeNo = {if !$attributes|count}0{else}{assign var='lastAttribute' value=$attributes|end}{$lastAttribute->attributeNo+1}{/if};
53-
var attributeTemplate = new Template('{@$attributeTemplate|encodeJS}');
54-
55-
$('.jsAddButton').click(function (event) {
56-
var $html = $($.parseHTML(attributeTemplate.fetch({ attributeNo: attributeNo++ })));
57-
$html.find('.jsDeleteButton').click(function (event) {
58-
$(event.target).parent().parent().remove();
51+
});
52+
53+
let attributeNo = {if !$attributes|count}0{else}{assign var='lastAttribute' value=$attributes|end}{$lastAttribute->attributeNo+1}{/if};
54+
const attributeTemplate = new Template('{unsafe:$attributeTemplate|encodeJS}');
55+
56+
document.querySelectorAll('.jsAddButton').forEach((btn) => {
57+
btn.addEventListener('click', () => {
58+
const html = attributeTemplate.fetch({ attributeNo: attributeNo++ });
59+
const tempDiv = document.createElement('div');
60+
tempDiv.innerHTML = html;
61+
const section = tempDiv.firstElementChild;
62+
section.querySelectorAll('.jsDeleteButton').forEach((delBtn) => {
63+
delBtn.addEventListener('click', () => {
64+
delBtn.closest('.section').remove();
65+
});
5966
});
60-
$('#attributeFieldset').append($html);
67+
document.getElementById('attributeFieldset').appendChild(section);
6168
});
62-
63-
var $buttonSettings = $('.jsButtonSetting');
64-
var $showButton = $('#showButton');
65-
function toggleButtonSettings() {
66-
if ($showButton.is(':checked')) {
67-
$buttonSettings.show();
68-
}
69-
else {
70-
$buttonSettings.hide();
71-
}
69+
});
70+
71+
const buttonSettings = document.querySelectorAll('.jsButtonSetting');
72+
const showButton = document.getElementById('showButton');
73+
function toggleButtonSettings() {
74+
if (showButton.checked) {
75+
buttonSettings.forEach(el => show(el));
76+
} else {
77+
buttonSettings.forEach(el => hide(el));
7278
}
73-
74-
$showButton.change(toggleButtonSettings);
79+
}
80+
81+
if (showButton) {
82+
showButton.addEventListener('change', toggleButtonSettings);
7583
toggleButtonSettings();
76-
});
84+
}
7785
});
7886
</script>
7987

@@ -180,7 +188,7 @@
180188
{elseif $errorType == 'multilingual'}
181189
{lang}wcf.global.form.error.multilingual{/lang}
182190
{else}
183-
{lang}wcf.acp.bbcode.buttonLabel.error.{@$errorType}{/lang}
191+
{lang}wcf.acp.bbcode.buttonLabel.error.{$errorType}{/lang}
184192
{/if}
185193
</small>
186194
{/if}
@@ -201,7 +209,7 @@
201209
{if $errorType == 'empty'}
202210
{lang}wcf.global.form.error.empty{/lang}
203211
{else}
204-
{lang}wcf.acp.bbcode.wysiwygIcon.error.{@$errorType}{/lang}
212+
{lang}wcf.acp.bbcode.wysiwygIcon.error.{$errorType}{/lang}
205213
{/if}
206214
</small>
207215
{/if}
@@ -231,16 +239,16 @@
231239
</h2>
232240

233241
<dl{if $errorField == 'attributeHtml'|concat:$attribute->attributeNo} class="formError"{/if}>
234-
<dt><label for="attributes[{@$attribute->attributeNo}][attributeHtml]">{lang}wcf.acp.bbcode.attribute.attributeHtml{/lang}</label></dt>
242+
<dt><label for="attributes[{$attribute->attributeNo}][attributeHtml]">{lang}wcf.acp.bbcode.attribute.attributeHtml{/lang}</label></dt>
235243
<dd>
236-
<input type="text" id="attributes[{@$attribute->attributeNo}][attributeHtml]" name="attributes[{@$attribute->attributeNo}][attributeHtml]" value="{$attribute->attributeHtml}" class="long">
244+
<input type="text" id="attributes[{$attribute->attributeNo}][attributeHtml]" name="attributes[{$attribute->attributeNo}][attributeHtml]" value="{$attribute->attributeHtml}" class="long">
237245
</dd>
238246
</dl>
239247

240248
<dl{if $errorField == 'attributeValidationPattern'|concat:$attribute->attributeNo} class="formError"{/if}>
241-
<dt><label for="attributes[{@$attribute->attributeNo}][validationPattern]">{lang}wcf.acp.bbcode.attribute.validationPattern{/lang}</label></dt>
249+
<dt><label for="attributes[{$attribute->attributeNo}][validationPattern]">{lang}wcf.acp.bbcode.attribute.validationPattern{/lang}</label></dt>
242250
<dd>
243-
<input type="text" id="attributes[{@$attribute->attributeNo}][validationPattern]" name="attributes[{@$attribute->attributeNo}][validationPattern]" value="{$attribute->validationPattern}" class="long">
251+
<input type="text" id="attributes[{$attribute->attributeNo}][validationPattern]" name="attributes[{$attribute->attributeNo}][validationPattern]" value="{$attribute->validationPattern}" class="long">
244252
{if $errorField == 'attributeValidationPattern'|concat:$attribute->attributeNo}
245253
<small class="innerError">
246254
{if $errorType == 'invalid'}
@@ -253,13 +261,13 @@
253261

254262
<dl{if $errorField == 'attributeRequired'|concat:$attribute->attributeNo} class="formError"{/if}>
255263
<dd>
256-
<label for="attributes[{@$attribute->attributeNo}][required]"><input type="checkbox" id="attributes[{@$attribute->attributeNo}][required]" name="attributes[{@$attribute->attributeNo}][required]" value="1"{if $attribute->required} checked{/if}> {lang}wcf.acp.bbcode.attribute.required{/lang}</label>
264+
<label for="attributes[{$attribute->attributeNo}][required]"><input type="checkbox" id="attributes[{$attribute->attributeNo}][required]" name="attributes[{$attribute->attributeNo}][required]" value="1"{if $attribute->required} checked{/if}> {lang}wcf.acp.bbcode.attribute.required{/lang}</label>
257265
</dd>
258266
</dl>
259267

260268
<dl{if $errorField == 'attributeUseText'|concat:$attribute->attributeNo} class="formError"{/if}>
261269
<dd>
262-
<label for="attributes[{@$attribute->attributeNo}][useText]"><input type="checkbox" id="attributes[{@$attribute->attributeNo}][useText]" name="attributes[{@$attribute->attributeNo}][useText]" value="1"{if $attribute->useText} checked{/if}> {lang}wcf.acp.bbcode.attribute.useText{/lang}</label>
270+
<label for="attributes[{$attribute->attributeNo}][useText]"><input type="checkbox" id="attributes[{$attribute->attributeNo}][useText]" name="attributes[{$attribute->attributeNo}][useText]" value="1"{if $attribute->useText} checked{/if}> {lang}wcf.acp.bbcode.attribute.useText{/lang}</label>
263271
<small>{lang}wcf.acp.bbcode.attribute.useText.description{/lang}</small>
264272
</dd>
265273
</dl>

wcfsetup/install/files/acp/templates/bulkProcessing.tpl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
dialogTitle: '{jslang}{$pageTitle}{/jslang}',
3535
className: "wcf\\system\\worker\\BulkProcessingWorker",
3636
parameters: {
37-
bulkProcessingID: {@$bulkProcessingID},
37+
bulkProcessingID: {$bulkProcessingID},
3838
},
3939
});
4040
});
@@ -63,12 +63,12 @@
6363
<dt></dt>
6464
<dd>
6565
{foreach from=$actions item=actionObjectType}
66-
<label><input type="radio" name="action" value="{$actionObjectType->action}"{if $actionObjectType->action == $action} checked{/if}> {lang}{$objectType->getProcessor()->getLanguageItemPrefix()}.{@$actionObjectType->action}{/lang}</label>
66+
<label><input type="radio" name="action" value="{$actionObjectType->action}"{if $actionObjectType->action == $action} checked{/if}> {lang}{$objectType->getProcessor()->getLanguageItemPrefix()}.{$actionObjectType->action}{/lang}</label>
6767
{/foreach}
6868

6969
{if $errorField == 'action'}
7070
<small class="innerError">
71-
{lang}wcf.global.form.error.{@$errorType}{/lang}
71+
{lang}wcf.global.form.error.{$errorType}{/lang}
7272
</small>
7373
{/if}
7474
</dd>
@@ -77,10 +77,10 @@
7777

7878
{foreach from=$actions item=actionObjectType}
7979
{if $actionObjectType->getProcessor()->getHTML()}
80-
<section class="section jsBulkProcessingActionSettings" data-action="{@$actionObjectType->action}" {if $actionObjectType->action != $action}style="display: none;"{/if}>
81-
<h2 class="sectionTitle">{lang}{$objectType->getProcessor()->getLanguageItemPrefix()}.{@$actionObjectType->action}{/lang}</h2>
80+
<section class="section jsBulkProcessingActionSettings" data-action="{$actionObjectType->action}" {if $actionObjectType->action != $action}style="display: none;"{/if}>
81+
<h2 class="sectionTitle">{lang}{$objectType->getProcessor()->getLanguageItemPrefix()}.{$actionObjectType->action}{/lang}</h2>
8282

83-
{@$actionObjectType->getProcessor()->getHTML()}
83+
{unsafe:$actionObjectType->getProcessor()->getHTML()}
8484
</section>
8585
{/if}
8686
{/foreach}
@@ -91,7 +91,7 @@
9191
{hascontent}<p class="sectionDescription">{content}{lang __optional=true}{$objectType->getProcessor()->getLanguageItemPrefix()}.conditions.descriptions{/lang}{/content}</p>{/hascontent}
9292
</header>
9393

94-
{@$objectType->getProcessor()->getConditionHTML()}
94+
{unsafe:$objectType->getProcessor()->getConditionHTML()}
9595
</section>
9696

9797
<div class="formSubmit">

wcfsetup/install/files/acp/templates/categoryAddFormBuilder.tpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<header class="contentHeader">
44
<div class="contentHeaderTitle">
5-
<h1 class="contentTitle">{@$objectType->getProcessor()->getLanguageVariable($action)}</h1>
5+
<h1 class="contentTitle">{unsafe:$objectType->getProcessor()->getLanguageVariable($action)}</h1>
66
</div>
77

88
{hascontent}
@@ -12,7 +12,7 @@
1212
{if $action == 'edit' && $categoryNodeList !== null && $categoryNodeList->hasChildren()}
1313
<li class="dropdown">
1414
<a class="button dropdownToggle">
15-
{icon name='sort'} <span>{@$objectType->getProcessor()->getLanguageVariable('button.choose')}</span>
15+
{icon name='sort'} <span>{unsafe:$objectType->getProcessor()->getLanguageVariable('button.choose')}</span>
1616
</a>
1717
<div class="dropdownMenu">
1818
<ul class="scrollableDropdownMenu">
@@ -28,7 +28,7 @@
2828

2929
{if $objectType->getProcessor()->canDeleteCategory() || $objectType->getProcessor()->canEditCategory()}
3030
<li>
31-
<a href="{link controller=$listController application=$objectType->getProcessor()->getApplication()}{/link}" class="button">{icon name='list'} <span>{@$objectType->getProcessor()->getLanguageVariable('button.list')}</span></a>
31+
<a href="{link controller=$listController application=$objectType->getProcessor()->getApplication()}{/link}" class="button">{icon name='list'} <span>{unsafe:$objectType->getProcessor()->getLanguageVariable('button.list')}</span></a>
3232
</li>
3333
{/if}
3434

@@ -39,6 +39,6 @@
3939
{/hascontent}
4040
</header>
4141

42-
{@$form->getHtml()}
42+
{unsafe:$form->getHtml()}
4343

4444
{include file='footer'}

0 commit comments

Comments
 (0)