Vorlage:Attributgenerator: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
(#set)
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
 
<pre>
 
<pre>
 
{{Attributgenerator
 
{{Attributgenerator
   | Attributliste = <Attributliste>
+
   | Attribut = <Attribut>
 
   }}
 
   }}
 
</pre>
 
</pre>
Zeile 10: Zeile 10:
 
== Beispiel ==
 
== Beispiel ==
 
=== Eingabe ===
 
=== Eingabe ===
<pre>{{Attributgenerator|Profilbild}}</pre>
+
<pre>{{ Attributgenerator
 +
  | Attribut = Kurzbeschreibung
 +
  }}</pre>
 
=== Ausgabe ===
 
=== Ausgabe ===
{{Attributgenerator|Profilbild}}
+
{{ Attributgenerator
 +
  | Attribut = Kurzbeschreibung
 +
  }}
 
<hr>
 
<hr>
 
Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen.
 
Klick auf „Bearbeiten“, um den Quelltext der Vorlage anzusehen.
Zeile 23: Zeile 27:
 
/// Definitionen
 
/// Definitionen
 
//////////////////////////////////////////////////////////////
 
//////////////////////////////////////////////////////////////
/// Basistyp
+
 
-->{{#arraydefine: Attributliste <!--
+
/// ermittle den Key des Attributes
   -->| {{#if: <nowiki>{{{</nowiki>Attributliste |<nowiki>}}}</nowiki> <!--
+
-->{{#vardefine: Attribut <!--
     -->| <nowiki>{{{</nowiki>Attributliste <nowiki>}}}</nowiki> <!--
+
   -->| {{#if: {{{Attribut|}}} <!--
     -->| <nowiki>{{{</nowiki>1<nowiki>}}}</nowiki> <!--
+
     -->| {{{Attribut}}} <!--
 +
     -->| {{{1|}}} <!--
 
     -->}}<!--
 
     -->}}<!--
  -->| , <!-- das erwartete Trennzeichen
 
 
   -->}}<!--
 
   -->}}<!--
  /// Debug-Angabe
+
 
  -><hr>'' Wert Attributliste = <nowiki>{{{</nowiki> Attributliste | <nowiki>{{{</nowiki> 1 | Keine Attributliste :-( <nowiki>}}}</nowiki> <nowiki>}}}</nowiki> <hr> array Attributliste = {{#arrayprint: Attributliste | {{-,-}} }} <hr>''<!--
+
/// ermittle Datentyp des Attributes
 +
-->{{#vardefine: Datentyp <!--
 +
  -->| {{#show: Attribut:{{#var:Attribut}} | ?Datentyp# | default=Text }} <!--
 +
  -->}}<!--
 +
 
 
//////////////////////////////////////////////////////////////
 
//////////////////////////////////////////////////////////////
  
Zeile 40: 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: <nowiki>{{{</nowiki>@KEY@|<nowiki>}}}</nowiki><!--
 
 
     /// 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: <nowiki>{{{</nowiki>@KEY@<nowiki>}}}</nowiki> | , | @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: <nowiki>{{{</nowiki>@KEY@|<nowiki>}}}</nowiki> | Ja <!--
+
         -->{{#ifeq: <nowiki>{{{</nowiki>{{#var:Attribut}}<nowiki>}}}</nowiki> | Ja <!--
           -->| {{#set: @KEY@ = <nowiki>{{{</nowiki>@KEY@<nowiki>}}}</nowiki> }}<!--
+
           -->| {{#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@ = <nowiki>{{{</nowiki>@KEY@<nowiki>}}}</nowiki> }} <!--
+
              -->}}<!--
          -->{{#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, 12: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