Benutzer:Sammy/Sandkasten/3: Unterschied zwischen den Versionen

Aus GuildWiki
Wechseln zu:Navigation, Suche
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<includeonly>{{#if: {{{optionen|}}} |
+
<includeonly>
| {{#ifexpr: {{#if: {{{datum|}}} | 1 | 0}} != 0 and {{#ifeq: {{{datum|}}} | current | 0 | 1}} != 0
+
{{#if: {{{optionen|}}} |
     | {{#switch: {{{angabe}}}
+
| {{#ifexpr: {{#if: {{{datum|}}} | 1 | 0}} = 0 or {{#ifeq: {{{datum|}}} | aktuell | 0 | 1}} = 0
 +
    | {{{{PAGENAME}}|datum={{{{PAGENAME}}|optionen=aktuellermontag}}|angabe={{{angabe|}}}}}
 +
     | {{#switch: {{{angabe|}}}
 
         | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT
 
         | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT
         | Gegenstand = {{{{PAGENAME}}|datum={{{datum}}}|angabe=gegenstand}}
+
         | anzahl = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=menge}}
        | Menge
+
         | karten-name = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenname}}
        | Anzahl
+
         | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenbeschreibung}}
        | anzahl = {{{{PAGENAME}}|datum={{{datum}}}|angabe=menge}}
 
        | Dialog = {{{{PAGENAME}}|datum={{{datum}}}|angabe=dialog}}
 
        | Kartenname
 
        | Karten-Name
 
         | karten-name = {{{{PAGENAME}}|datum={{{datum}}}|angabe=kartenname}}
 
        | Gebietsname = {{{{PAGENAME}}|datum={{{datum}}}|angabe=gebietsname}}
 
        | Kartenbeschreibung
 
        | Karten-Beschreibung
 
         | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum}}}|angabe=kartenbeschreibung}}
 
  
 
         | plural =
 
         | plural =
             {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=plural}}
+
             {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=plural}}
+
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=gegenstand}}
+
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gegenstand}}
 
             }}
 
             }}
 
         | kartenbeschreibung =
 
         | kartenbeschreibung =
             {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=kartenbeschreibung}}
+
             {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=kartenbeschreibung}}
+
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe=gebietsname}}
+
             | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gebietsname}}
 +
            }}
 +
        | extkartenbeschreibung =
 +
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
 +
            }}
 
         | gegenstand
 
         | gegenstand
 
         | menge
 
         | menge
Zeile 30: Zeile 29:
 
         | kartenname
 
         | kartenname
 
         | gebietsname =
 
         | gebietsname =
             {{Benutzer:Sammy/Sandkasten/2|datum={{{datum}}}|angabe={{{angabe}}}}}
+
             {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe={{{angabe|}}}}}
 
         }}
 
         }}
     | {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}
+
     }}
     | 0 = {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}}|angabe={{{angabe}}}}}
+
}}
    | 1 =  
+
{{#if: {{{optionen|}}}
        {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15
+
| {{#switch: {{{optionen|}}}
        | {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}|angabe={{{angabe}}}}}
+
     | aktuellermontag =
         | {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}}|angabe={{{angabe}}}
+
        {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}
 +
        | 0 = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}}
 +
        | 1 =  
 +
            {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15
 +
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}
 +
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}}
 +
            }}
 +
         | #default = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}
 
         }}
 
         }}
    | #default = {{{{PAGENAME}}|datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}|angabe={{{angabe}}}}}
 
 
     }}
 
     }}
 
}}
 
}}
Zeile 49: Zeile 54:
  
  
Diese Vorlage berechnet das Datum des aktuellen Gegenstands, den Nicholas der Reisende sammelt.<br>
+
Diese Vorlage ist gedacht zur Vorschaltung vor die Nicholas-Datenbank, momentan untergebracht in [[Benutzer:Sammy/Sandkasten/2]].<br>
 +
Übergeben werden können folgende Parameter:
 +
* <code>optionen=</code>
 +
:# <code>aktuellermontag</code><br>Gibt den aktuellen Nicholas-Montag in der Form dd.mm.yyyy zurück. Alle anderen Parameter werden ignoriert.
 +
* <code>datum=</code>
 +
:# <code>dd.mm.yyyy</code><br>Das Datum eines Nicholas-Standortwechsel-Tages in der Form dd.mm.yyyy.
 +
:# <code>current</code><br>Ist gleichbedeutend mit dem Datum des aktuellen Nicholas-Montages.
 +
:# ''Parameter ungesetzt''<br>Wenn der Parameter leergelassen oder erst gar nicht gesetzt wird, ist dies gleichbedeutend mit dem Wert "current".
 +
* <code>angabe=</code>
 +
:# <code>gegenstand</code> - Der Name des gesammelten Gegenstandes im Singular.
 +
:# <code>plural</code> - [''optional''] Der Name des gesammelten Gegenstandes im Plural. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von <code>gegenstand</code> genommen.)
 +
:# <code>menge</code> - Die Anzahl Gegenstände, die zum Eintauschen eines Geschenkes benötigt werden.
 +
:# <code>anzahl</code> - Gleichbedeutend mit <code>menge</code>.
 +
:# <code>dialog</code> - Nicholas' Dialog.
 +
:# <code>kartenname</code> - Der Name der Bilddatei, welche die Karte und den Weg zu Nicholas darstellt.
 +
:# <code>karten-name</code> - Gleichbedeutend mit <code>kartenname</code>.
 +
:# <code>gebietsname</code> - Der Name des Artikels des Gebietes, in welchem Nicholas steht.
 +
:# <code>kartenbeschreibung</code> - [''optional''] Ein Alternativtext für den Titel des Gebietes im Gebietslink. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von <code>gebietsname</code> genommen.)
 +
:# <code>extkartenbeschreibung</code> - [''optional''] Ein Alternativtext für die Beschreibung der Karte, anstatt von <code>kartenbeschreibung</code>. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von <code>kartenbeschreibung</code> genommen.)
 +
 
 
Erklärung des Codes:
 
Erklärung des Codes:
 
  <nowiki>
 
  <nowiki>
{{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}} // Abfrage des aktuellen Wochentages (Sonntag = 0)
+
{{#if: {{{optionen|}}} |                                  // Sind Optionsparameter übergeben worden?
| 0 =                                         // Sonntag
+
|                                                        // Wenn nein:
     {{Benutzer:Sammy/Sandkasten/2             // --> Aufruf der Nicholas-Speicherseite
+
    {{#ifexpr:                                            // Wenn Parameter "datum" nicht gesetzt ist oder den Wert "aktuell" hat:
        |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}} // --> mit Datum von vor 6 Tagen
+
        {{#if: {{{datum|}}} | 1 | 0}} = 0
         |angabe={{{angabe}}}}}                 // --> und Durchreichung des "angabe"-Parameters
+
        or {{#ifeq: {{{datum|}}} | aktuell | 0 | 1}} = 0
| 1 =                                         // Montag
+
                                                          // Rufe dich selbst auf mit dem aktuellen Montag (ermittelt über Selbst-
    {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15 // --> Ist es bereits nach 15 Uhr (UTC)?
+
                                                          //    aufruf mit Parameter "optionen=aktuellermontag") als Datum
    | {{Benutzer:Sammy/Sandkasten/2           // -->--> WENN JA: Aufruf der Nicholas-Speicherseite
+
    | {{{{PAGENAME}}|datum={{{{PAGENAME}}|optionen=aktuellermontag}}|angabe={{{angabe|}}}}}
         |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}}}} // -->--> mit heutigem Datum
+
                                                          // Wenn das Datum feststeht:
         |angabe={{{angabe}}}}}                // -->--> und Durchreichung des "angabe"-Parameters
+
    | {{#switch: {{{angabe|}}}                            // Überprüfe Parameter "angabe" auf Wertegültigkeit:
    | {{Benutzer:Sammy/Sandkasten/2           // -->--> WENN NEIN: Aufruf der Nicholas-Speicherseite
+
        | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT // Parameter "angabe" hat keinen vorgesehenen Wert
        |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}} // -->--> mit Datum von vor einer Woche
+
                                                          // Alternative Parameternamen
         |angabe={{{angabe}}}}}                 // -->--> und Durchreichung des "angabe"-Parameters
+
        | anzahl = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=menge}}
 +
        | karten-name = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenname}}
 +
        | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenbeschreibung}}
 +
                                                          // Wenn "plural" beim entsprechenden Eintrag nicht gesetzt ist, nimm
 +
        | plural =                                        //     "gegenstand".
 +
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gegenstand}}
 +
            }}
 +
                                                          // Wenn "kartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
 +
         | kartenbeschreibung =                            //    ist, nimm "gebietsname".
 +
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gebietsname}}
 +
            }}
 +
                                                          // Wenn "extkartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
 +
        | extkartenbeschreibung =                         //     ist, nimm "kartenbeschreibung".
 +
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
 +
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
 +
            }}
 +
        | gegenstand                                      // Gültige Werte, die einfach durchgereicht werden.
 +
        | menge
 +
        | dialog
 +
        | kartenname
 +
        | gebietsname =
 +
            {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe={{{angabe|}}}}}
 +
        }}
 +
    }}
 +
}}
 +
{{#if: {{{optionen|}}}                                    // Sind Optionsparameter übergeben worden?
 +
| {{#switch: {{{optionen|}}}                              // Wenn ja: Überprüfe Parameter "optionen".
 +
    | aktuellermontag =                                  // Wenn "optionen=aktuellermontag" gib aktuellen Nicholas-Montag zurück.
 +
        {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}    // Überprüfung von Wochentag als numerischer Wert (Sonntag = 0):
 +
         | 0 = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}} // Sonntag (0)
 +
         | 1 =                                                   // Montag (1)
 +
            {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15 // Wenn es nach 15 Uhr (UTC) ist -
 +
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}           // dann nimm heute,
 +
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}} // ansonsten den Montag vor einer Woche.
 +
            }}
 +
                                                                // Für alle übrigen Tage: Nimm einfach den letzten Montag.
 +
         | #default = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}
 +
        }}
 
     }}
 
     }}
| #default =                                  // Alle anderen Wochentage
 
    {{Benutzer:Sammy/Sandkasten/2              // --> Aufruf der Nicholas-Speicherseite
 
        |datum={{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days ago}}
 
                                              // --> mit Datum von letztem Montag
 
        |angabe={{{angabe}}}}}                // --> und Durchreichung des "angabe"-Parameters
 
 
}}
 
}}
 
</nowiki>
 
</nowiki>
 
</noinclude>
 
</noinclude>

Aktuelle Version vom 7. Januar 2010, 00:34 Uhr




Diese Vorlage ist gedacht zur Vorschaltung vor die Nicholas-Datenbank, momentan untergebracht in Benutzer:Sammy/Sandkasten/2.
Übergeben werden können folgende Parameter:

  • optionen=
  1. aktuellermontag
    Gibt den aktuellen Nicholas-Montag in der Form dd.mm.yyyy zurück. Alle anderen Parameter werden ignoriert.
  • datum=
  1. dd.mm.yyyy
    Das Datum eines Nicholas-Standortwechsel-Tages in der Form dd.mm.yyyy.
  2. current
    Ist gleichbedeutend mit dem Datum des aktuellen Nicholas-Montages.
  3. Parameter ungesetzt
    Wenn der Parameter leergelassen oder erst gar nicht gesetzt wird, ist dies gleichbedeutend mit dem Wert "current".
  • angabe=
  1. gegenstand - Der Name des gesammelten Gegenstandes im Singular.
  2. plural - [optional] Der Name des gesammelten Gegenstandes im Plural. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von gegenstand genommen.)
  3. menge - Die Anzahl Gegenstände, die zum Eintauschen eines Geschenkes benötigt werden.
  4. anzahl - Gleichbedeutend mit menge.
  5. dialog - Nicholas' Dialog.
  6. kartenname - Der Name der Bilddatei, welche die Karte und den Weg zu Nicholas darstellt.
  7. karten-name - Gleichbedeutend mit kartenname.
  8. gebietsname - Der Name des Artikels des Gebietes, in welchem Nicholas steht.
  9. kartenbeschreibung - [optional] Ein Alternativtext für den Titel des Gebietes im Gebietslink. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von gebietsname genommen.)
  10. extkartenbeschreibung - [optional] Ein Alternativtext für die Beschreibung der Karte, anstatt von kartenbeschreibung. (Ist der Wert beim betreffenden Eintrag nicht gesetzt, wird der Wert von kartenbeschreibung genommen.)

Erklärung des Codes:

{{#if: {{{optionen|}}} |                                  // Sind Optionsparameter übergeben worden?
|                                                         // Wenn nein:
    {{#ifexpr:                                            // Wenn Parameter "datum" nicht gesetzt ist oder den Wert "aktuell" hat:
        {{#if: {{{datum|}}} | 1 | 0}} = 0
        or {{#ifeq: {{{datum|}}} | aktuell | 0 | 1}} = 0
                                                          // Rufe dich selbst auf mit dem aktuellen Montag (ermittelt über Selbst-
                                                          //     aufruf mit Parameter "optionen=aktuellermontag") als Datum
    | {{{{PAGENAME}}|datum={{{{PAGENAME}}|optionen=aktuellermontag}}|angabe={{{angabe|}}}}}
                                                          // Wenn das Datum feststeht:
    | {{#switch: {{{angabe|}}}                            // Überprüfe Parameter "angabe" auf Wertegültigkeit:
        | #default = PARAMETERFEHLER: "angabe" ENTHÄLT UNGÜLTIGEN WERT // Parameter "angabe" hat keinen vorgesehenen Wert
                                                          // Alternative Parameternamen
        | anzahl = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=menge}}
        | karten-name = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenname}}
        | karten-beschreibung = {{{{PAGENAME}}|datum={{{datum|}}}|angabe=kartenbeschreibung}}
                                                          // Wenn "plural" beim entsprechenden Eintrag nicht gesetzt ist, nimm
        | plural =                                        //     "gegenstand".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=plural}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gegenstand}}
            }}
                                                          // Wenn "kartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
        | kartenbeschreibung =                            //     ist, nimm "gebietsname".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=gebietsname}}
            }}
                                                          // Wenn "extkartenbeschreibung" beim entsprechenden Eintrag nicht gesetzt
        | extkartenbeschreibung =                         //     ist, nimm "kartenbeschreibung".
            {{#if: {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=extkartenbeschreibung}}
            | {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe=kartenbeschreibung}}
            }}
        | gegenstand                                      // Gültige Werte, die einfach durchgereicht werden.
        | menge
        | dialog
        | kartenname
        | gebietsname =
            {{Benutzer:Sammy/Sandkasten/2|datum={{{datum|}}}|angabe={{{angabe|}}}}}
        }}
    }}
}}
{{#if: {{{optionen|}}}                                    // Sind Optionsparameter übergeben worden?
| {{#switch: {{{optionen|}}}                              // Wenn ja: Überprüfe Parameter "optionen".
    | aktuellermontag =                                   // Wenn "optionen=aktuellermontag" gib aktuellen Nicholas-Montag zurück.
        {{#switch: {{#time: w | {{CURRENTTIMESTAMP}}}}    // Überprüfung von Wochentag als numerischer Wert (Sonntag = 0):
        | 0 = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 6 days ago}} // Sonntag (0)
        | 1 =                                                    // Montag (1)
            {{#ifexpr: {{#time: G | {{CURRENTTIMESTAMP}}}} >= 15 // Wenn es nach 15 Uhr (UTC) ist -
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}}}}            // dann nimm heute,
            | {{#time: d.m.Y | {{CURRENTTIMESTAMP}} 1 week ago}} // ansonsten den Montag vor einer Woche.
            }}
                                                                 // Für alle übrigen Tage: Nimm einfach den letzten Montag.
        | #default = {{#time: d.m.Y | {{CURRENTTIMESTAMP}} {{#expr: {{#time: w | {{CURRENTTIMESTAMP}}}} - 1}} days  ago}}
        }}
    }}
}}