{input}
Erstellt ein neues Eingabe-Element. Kann im Adminbereich auf eigenen/angepassten Reitern eingesetzt werden.
| Attribut | Typ | Erforderlich | Beschreibung |
| type | string | Ja | Typ des Plugins (z.B. "button", "color" usw.) |
| name | string | Ja | Name des Feldes |
| title | string | Ja | Beschriftung |
| short | string | Nein | Zusätzliche Kurzbeschreibung |
| no_auto | boolean | Nein | Mit no_auto="1" wird das automatische Speichern/Laden in bzw. aus dem extra-Feld deaktiviert |
| standalone | boolean | Nein | Mit standalone="1" wird das Inputplugin wie ein einfaches Formularfeld eingefügt, ohne Formatierung und den title |
Beispiel
- {* Eingabefeld für ein Bild erzeugen *}
- {input version=5 type="image" name="bild_rechts" title="Bild" short="Diese Bild erscheint in der rechten Spalte"}
Ausgabe:
Die HTML-Datei
wir erstellen zuerst eine HTML-Datei
jede HTML Datei besitzt 2 Bereiche
Bereich 1 Smarty+HTML
- <form name="extra">
- <div align="center">
- <table class="table">
- <tr>
- <td class="cell">
- {input version=5 type="button" name="input_test" title="Dies ist ein button" onclick="javascript:test()"}
- </td>
- </tr>
- </table>
- </div>
- </form>
Achten Sie darauf, dass das Formular auf jeden Fall den Namen extra bekommt
<div> und <table> sind für die einheitliche Gestaltung optionall
Bereich 2 Javasript
Ab Version 5 werden bei Seiten die extra-Felder automatisch gespeichert und geladen.
Es muss nur die unload_extra() Funktion die do_unload bzw. do_unload_extra Funktion aufgenommen werden.
- // Für die Erweiterung des Informationsreiters
- <script language="javascript">
- {literal}
- function do_load_extra(){}
- function do_unload_extra()
- {
- window.parent.unload_extra()
- }
- {/literal}
- </script>
- //Für einen neuen Reiter
- <script language="javascript">
- {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.
- function do_load()
- {
- set_input_value('menue_color', window.parent.get_conf('administration', 'menue_color'));
- }
- function do_unload()
- {
- window.parent.set_conf('administration', 'menue_color', get_input_value('menue_color'));
- }
do_load
In diesem Teil werden die Werte beim Speichern in die DB geschrieben
do_unload
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.
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
Auslesen von Eigenschaften ist hingegen wie gewohnt machbar. Eigenschaften oder Arrays wie checked, selected, options, usw stehen nun auch Verfügung.