Zeile 4: |
Zeile 4: |
| <pre> | | <pre> |
| {{Attributgenerator | | {{Attributgenerator |
− | | Attributliste = <Attributliste> }} | + | | Attribut = <Attribut> |
| + | }} |
| </pre> | | </pre> |
| + | |
| + | == Beispiel == |
| + | === Eingabe === |
| + | <pre>{{ Attributgenerator |
| + | | Attribut = Kurzbeschreibung |
| + | }}</pre> |
| + | === Ausgabe === |
| + | {{ Attributgenerator |
| + | | Attribut = Kurzbeschreibung |
| + | }} |
| + | <hr> |
| Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen. | | Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen. |
| + | |
| == Bearbeiten == | | == Bearbeiten == |
| </noinclude><includeonly><!-- | | </noinclude><includeonly><!-- |
Zeile 14: |
Zeile 27: |
| /// Definitionen | | /// Definitionen |
| ////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////// |
− | /// Basistyp | + | |
− | -->{{#arraydefine: Attributliste <!-- | + | /// ermittle den Key des Attributes |
− | -->| {{#if: {{{Attributliste|}}} <!-- | + | -->{{#vardefine: Attribut <!-- |
− | -->| {{{Attributliste}}} <!-- | + | -->| {{#if: {{{Attribut|}}} <!-- |
− | -->| {{{1}}} <!-- | + | -->| {{{Attribut}}} <!-- |
| + | -->| {{{1|}}} <!-- |
| -->}}<!-- | | -->}}<!-- |
− | -->| , <!-- das erwartete Trennzeichen
| |
| -->}}<!-- | | -->}}<!-- |
| + | |
| + | /// ermittle Datentyp des Attributes |
| + | -->{{#vardefine: Datentyp <!-- |
| + | -->| {{#show: Attribut:{{#var:Attribut}} | ?Datentyp# | default=Text }} <!-- |
| + | -->}}<!-- |
| + | |
| ////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////// |
| | | |
Zeile 29: |
Zeile 48: |
| ////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////// |
| | | |
− | /// Gehe die Formularfelder jedes Formularblocks durch = @KEY@ | + | /// Ermittle den Inhalt des Formularfeldes |
− | -->{{#arraymap: {{#arrayprint: Attributliste | @//@ }}<!-- | + | -->{{#if: {{#var:Attribut}} <!-- |
− | -->| @//@ <!--
| |
− | -->| @KEY@ <!--
| |
| -->|<!-- | | -->|<!-- |
− | /// Ermittle Datentyp des Formularfeldes (Attribut Datentyp)
| + | |
− | -->{{#vardefine: Datentyp | {{#show: Attribut:@KEY@ | ?Datentyp# }} }}<!--
| |
− | /// Ermittle den Inhalt des Formularfeldes
| |
− | -->{{#if: {{{@KEY@|}}}<!--
| |
| /// Trage das Attribut, abhängig von seinem Datentyp, ein | | /// Trage das Attribut, abhängig von seinem Datentyp, ein |
− | -->|{{#switch: {{#var:Datentyp}}<!-- | + | -->{{#switch: {{#var:Datentyp}} <!-- |
| + | |
| /// Seite: jeweils einzeln eintragen | | /// Seite: jeweils einzeln eintragen |
| -->| Seite = <!-- | | -->| Seite = <!-- |
− | -->{{#arraymap: {{{@KEY@}}} | , | @VALUE@ | {{#set: @KEY@ = @VALUE@ }} | }}<!-- | + | -->{{#arraymap: <nowiki>{{{</nowiki>{{#var:Attribut}}<nowiki>}}}</nowiki> <!-- |
− | -->{{#arraydefine: Attribut eingetragen | {{#arrayprint:Attribut eingetragen|@//@}} @//@ @KEY@ }}<!-- | + | -->| , <!-- |
| + | -->| @VALUE@ <!-- |
| + | -->| {{#set: {{#var:Attribut}} = @VALUE@ }} <!-- |
| + | -->| <!-- |
| + | -->}}<!-- |
| + | -->{{#arraydefine: Attribut eingetragen <!-- |
| + | -->| {{#arrayprint:Attribut eingetragen|@//@}} @//@ {{#var:Attribut}} <!-- |
| + | -->| @//@ <!-- |
| + | -->}}<!-- |
| + | |
| /// Wahrheitswert: nur eintragen, wenn wahr (also das Häkchen gesetzt wurde) | | /// Wahrheitswert: nur eintragen, wenn wahr (also das Häkchen gesetzt wurde) |
| -->| Wahrheitswert = <!-- | | -->| Wahrheitswert = <!-- |
− | -->{{#ifeq: {{{@KEY@|}}} | Ja <!-- | + | -->{{#ifeq: <nowiki>{{{</nowiki>{{#var:Attribut}}<nowiki>}}}</nowiki> | Ja <!-- |
− | -->| {{#set: @KEY@ = {{{@KEY@}}} }}<!-- | + | -->| {{#set: {{#var:Attribut}} = <nowiki>{{{</nowiki>{{#var:Attribut}}<nowiki>}}}</nowiki> }} <!-- |
− | -->{{#arraydefine: Attribut eingetragen | {{#arrayprint:Attribut eingetragen|@//@}} @//@ @KEY@ }}<!--
| + | -->{{#arraydefine: Attribut eingetragen <!-- |
− | -->|}}<!-- | + | -->| {{#arrayprint:Attribut eingetragen|@//@}} @//@ {{#var:Attribut}} <!-- |
− | /// Alle anderen Attribute bekommen den Standard | + | -->| @//@ <!-- |
− | -->| {{#set: @KEY@ = {{{@KEY@}}} }} <!-- | + | -->}}<!-- |
− | -->{{#arraydefine: Attribut eingetragen | {{#arrayprint:Attribut eingetragen|@//@}} @//@ @KEY@ }}<!--
| + | -->|<!-- |
| + | -->}}<!-- |
| + | |
| + | /// setze Attribute für alle anderen Datentypen |
| + | -->| {{#set: {{#var:Attribut}} = <nowiki>{{{</nowiki>{{#var:Attribut}}<nowiki>}}}</nowiki> }} <!-- |
| + | -->{{#arraydefine: Attribut eingetragen <!-- |
| + | -->| {{#arrayprint:Attribut eingetragen|@//@}} @//@ {{#var:Attribut}}<!-- |
| + | -->| @//@ <!-- |
| + | -->}}<!-- |
| + | /// beende Switch |
| -->}}<!-- | | -->}}<!-- |
− | -->|<!--
| + | |
− | -->}}<!--
| + | /// beende Bedingung |
| -->|<!-- | | -->|<!-- |
| -->}}<!-- | | -->}}<!-- |
| + | ////////////////////////////////////////////////////////////// |
| + | |
| + | |
| + | ////////////////////////////////////////////////////////////// |
| + | /// bereinige das Array "Attribut eingetragen" |
| + | ////////////////////////////////////////////////////////////// |
| + | -->{{#arrayunique: Attribut eingetragen }}<!-- |
| + | -->{{#arraysort: Attribut eingetragen | asc }}<!-- |
| + | ////////////////////////////////////////////////////////////// |
| + | |
| + | |
| + | ////////////////////////////////////////////////////////////// |
| + | /// Debug-Angaben |
| + | ////////////////////////////////////////////////////////////// |
| + | -><h3>Debug-Angaben</h3>'' Wert Attribut = {{{ Attribut | {{{ 1 | Kein Attribut :-( }}} }}} <hr> var Attribut = {{#var: Attribut }}<hr>var Datentyp = {{#var: Datentyp }}<hr>arrayprint Attribut eingetragen = {{#arrayprint: Attribut eingetragen | {{-,-}} }}''<!-- |
| ////////////////////////////////////////////////////////////// | | ////////////////////////////////////////////////////////////// |
| | | |
| --></includeonly> | | --></includeonly> |