Vorlage:Attributgenerator: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „<noinclude> Dies ist die Vorlage „Attributgenerator“. Sie sollte im folgenden Format genutzt werden: <pre> {{Attributgenerator | Attributliste = <Attribu…“)
 
(#set)
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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>

Aktuelle Version vom 25. September 2020, 11:03 Uhr

Dies ist die Vorlage „Attributgenerator“. Sie sollte im folgenden Format genutzt werden:

{{Attributgenerator
  | Attribut = <Attribut>
  }}

Beispiel

Eingabe

{{ Attributgenerator
  | Attribut = Kurzbeschreibung
  }}

Ausgabe


Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen.

Bearbeiten