Erstellt ein neues Eingabe-Element. Kann im Adminbereich auf eigenen/angepassten Reitern eingesetzt werden.
Beispiel
{* Eingabefeld für ein Bild erzeugen *}
{input type="image" name="bild_rechts" title="Bild" short="Diese Bild erscheint in der rechten Spalte"}
Die HTML-Datei
Wir erstellen zuerst eine TPL-Datei
Bereich 1 Smarty+HTML
<div class="pane">
{input type="button" name="input_test" title="Dies ist ein button" onclick="javascript:test()"}
</div>
Bereich 2 Javascript
Es muss nur die unload_extra()
Funktion die do_unload_extra()
bzw. do_load_extra()
Funktion aufgenommen werden.
// Für die Erweiterung des Informationsreiters
<script>
{literal}
function do_load_extra() {}
function do_unload_extra() {window.parent.unload_extra()}
{/literal}
</script>
// Für einen neuen Reiter
<script>
{literal}
function do_load() {}
function do_unload() {window.parent.unload_extra();}
{/literal}
</script>
Wenn Sie Input-Plugins an anderen Stellen verwenden, z.B. auf einem Konfigurationsreiter in den Globalen Einstellungen können die Felder nicht automatisch abgespeichert werden. Die Inhalte der Input-Felder können in dieser Version einheitlich mit den Funktionen set_input_value()
und get_input_value()
geladen und gespeichert werden.
<script>
{literal}
function do_load_extra(){}
function do_unload_extra() {window.parent.unload_extra()}
{/literal}
</script>
//Für einen neuen Reiter
<script>
{literal}
function do_load() {}
function do_unload() {window.parent.unload_extra();}
{/literal}
</script>
do_load_extra
In diesem Teil werden die Werte beim Speichern in das Extrafeld geschrieben.
do_unload_extra
Hier werden, wenn vorhanden, gespeicherte Werte an das Formular übergeben
Mit Dojo generierte Input-Felder können nicht vollständig über die Eigenschaften ihrer ursprünglichen HTML Objekte manipuliert werden. Hierfür ist es manchmal notwendig das dazugehörige Dojo Objekt zu ermitteln und dieses dann zu manipulieren. Die Funktion hierfür ist get_input_object(). Übergeben wird der Name des Input-Feldes.
var obj = get_input_object('menue_color');
Soll ein Attribut geändert werden, verwendet man die attr()
Funktion. Nur so aktualisiert Dojo seine Objekte.
obj.attr('disabled', true); // ändert einen Wert
obj.attr({disabled : true, label : 'Neuer Text'}); // ändert mehrere Werte auf einmal