Eine mögliche Option ist die Verwendung einer Theme-Komponente.
Dieser Code gehört in header.html:
<script type="text/discourse-plugin" version="0.8">
var disclaimer = settings.Disclaimer_text,
disclaimer_selector = 'div[data-theme="disclaimer"]';
$.fn.disclaimer = function() {
if (!this.length) {
return;
} else {
this.each(function() {
$(this).html(disclaimer);
});
return this;
}
};
api.decorateCooked($elem => $elem.children(disclaimer_selector).disclaimer());
// Erstellen einer Composer-Schaltfläche
let currentLocale = I18n.currentLocale();
I18n.translations[currentLocale].js.disclaimer_button = "Haftungsausschluss hinzufügen";
I18n.translations[currentLocale].js.composer.disclaimer_prompt = ""; // leer lassen
api.onToolbarCreate(function(toolbar) {
toolbar.addButton({
trimLeading: true,
id: "disclaimer-button",
group: "insertions",
icon: "exclamation-circle", // Symbol ändern
title: "disclaimer_button",
perform: function(e) {
return e.applySurround(
'<div data-theme="disclaimer">',
"</div>",
"disclaimer_prompt"
);
}
});
});
</script>
Und dieser Teil gehört in die settings.yml-Datei Ihrer Komponente:
Disclaimer_text:
default: "Lorem ipsum dolor sit amet, ei purto complectitur has, per at quas senserit. Et malis libris eos, vix id pericula dissentiet, aliquid apeirian pro eu. Sed ex viderer inciderint, vitae officiis dissentiet eos no. Omnes percipit singulis in has, ne nam nibh tation inciderint. Quas nulla ei sit, ex eam rebum voluptaria. Id eam altera similique. Ex justo assentior persequeris mea, ei hinc paulo ubique mei. <br><br>Cu nam epicurei torquatos, et accusam accommodare vim. Vis sint saperet officiis et. Ad consequat posidonium mea, et duo paulo quidam maluisset, vel an electram expetendis. An vis repudiare tincidunt, mentitum convenire eloquentiam ut vis, summo partiendo pro ad."
description:
en: Geben Sie den gewünschten Haftungsausschlusstext ein. Verwenden Sie <br> für Zeilenumbrüche.
Anschließend erscheint im Composer eine Schaltfläche, die so aussieht:
Beim Klicken auf die Schaltfläche wird folgendes eingefügt:
<div data-theme="disclaimer"></div>
Dieser wird dann in den Text umgewandelt, den Sie in den Einstellungen der Komponente festgelegt haben:
Das Endergebnis sieht dann so aus:
Zusätzlich können Sie im CSS folgendes verwenden, um das Element nach Belieben zu gestalten:
[data-theme="disclaimer"] {
}


