Seite 1 von 1
Eigene input-Felder in den Editor-Modus integrieren?
Verfasst: Mi 27. Jun 2007, 10:05
von gerome69
Hallo zusammen,
in engem Zusammenhang mit meinen anderen gerade geposteten Topic steht folgende Frage.
Über solche vordefinierten Variablen wie CMS_TEXT[...] kann ich durch reines Schreiben eines Ausgabe-Teils eines Moduls diese Bereiche für den Redakteur editierbar machen.
Ich möchte ihn nicht an den Bereich "Konfiguration" ranlassen, so daß ein Modul mit Ein- und Ausgabe-Teil nicht in Frage kommt.
Wie bekomme ich nun ein simples <input> oder <textarea>-Feld in den Editor mit einem Button wie "Save"?
Danke für Tips, Gérôme
Verfasst: Mi 27. Jun 2007, 23:13
von HerrB
Die Frage ist mehr, wohin die Daten dann gespeichert werden sollen...
Nur um ein Formular zu erhalten, brauchst Du nur in die Ausgabe des Moduls üblichen Form-HTML-Code zu packen. Aber was soll bei "Save" passieren?
Gruß
HerrB
Verfasst: Do 28. Jun 2007, 09:48
von gerome69
HerrB hat geschrieben:Die Frage ist mehr, wohin die Daten dann gespeichert werden sollen...
Nur, um ein Formular zu erhalten, brauchst Du nur in die Ausgabe des Moduls üblichen Form-HTML-Code zu packen. Aber was soll bei "Save" passieren?
Gruß
HerrB
Nun, habe das jetzt so gelöst. Einfach in der Datenbank einen neuen Typ
CMS_TEXTLIMITED angelegt, den Code dort leicht verändert bzw. erweitert.
und in admin/includes/ die include.CMS_TEXT.php kopiert und erweitert zB um einen Längencheck.
Funktioniert wunderbar.
Die relevanten Passagen sehen jetzt so aus:
Code: Alles auswählen
echo " <p><b>Maximale Textlänge: 1500 Zeichen, noch <input style="width: 30px;" id="counter" size="4" readonly="readonly"> Zeichen übrig.</p>\n";
echo " <p>Mögliche Textauszeichnungen: [F]fett[/F] und [K]kursiv[/K]</p>\n";
echo " <FORM onsubmit="return checkLength()" name="editcontent" method="post" action="".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["includes"]."include.backendedit.php">";
[...]
<script type="text/javascript">
function countChars() {
document.getElementById("counter").value=1500-document.getElementById("text").value.length;
if (document.getElementById("text").value.length>1500) document.getElementById("counter").style.backgroundColor='red';
else document.getElementById("counter").style.backgroundColor='green';
}
countChars();
function checkLength() {
if (document.getElementById("text").value.length>1500) {
alert ('Der Text ist zu lang!');
return false;
} else return true;
}
</script>
Verfasst: Do 28. Jun 2007, 16:47
von HerrB
Und hoffentlich hast Du als idtype einen Wert >= 10000 verwendet. Sonst wird der Typ bei einem Update gelöscht.
Gruß
HerrB