Vorlage:Attributgenerator: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
K ((bugfix))
(#set)
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 11: Zeile 11:
 
=== Eingabe ===
 
=== Eingabe ===
 
<pre>{{ Attributgenerator
 
<pre>{{ Attributgenerator
   | Attribut = Profilbild
+
   | Attribut = Kurzbeschreibung
 
   }}</pre>
 
   }}</pre>
 
=== Ausgabe ===
 
=== Ausgabe ===
{{ Attributgenerator | Attribut = 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 25: Zeile 27:
 
/// Definitionen
 
/// Definitionen
 
//////////////////////////////////////////////////////////////
 
//////////////////////////////////////////////////////////////
/// Basistyp
+
 
 +
/// ermittle den Key des Attributes
 
-->{{#vardefine: Attribut <!--
 
-->{{#vardefine: Attribut <!--
 
   -->| {{#if: {{{Attribut|}}} <!--
 
   -->| {{#if: {{{Attribut|}}} <!--
 
     -->| {{{Attribut}}} <!--
 
     -->| {{{Attribut}}} <!--
     -->| {{{1}}} <!--
+
     -->| {{{1|}}} <!--
 
     -->}}<!--
 
     -->}}<!--
 
   -->}}<!--
 
   -->}}<!--
  /// Debug-Angabe
+
 
   --><hr>'' Wert Attribut = {{{ Attribut | {{{ 1 | Kein Attribut :-( }}} }}}  <hr> var Attribut = {{#var: Attribut }}<hr>''<!--
+
/// ermittle Datentyp des Attributes
 +
-->{{#vardefine: Datentyp <!--
 +
   -->| {{#show: Attribut:{{#var:Attribut}} | ?Datentyp# | default=Text }} <!--
 +
  -->}}<!--
 +
 
 
//////////////////////////////////////////////////////////////
 
//////////////////////////////////////////////////////////////
  
Zeile 41: 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, 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