|
|
| Zeile 1: |
Zeile 1: |
| <!-- hier wird der Parameter definiert, der überprüft werden soll
| | {{#expr:{{#dpl: |
| --
| |
| -->{{#vardefine:matchparameter|{{lc:{{#explode:{{{match|}}}|:|0}}}}}}<!--
| |
| --
| |
| -- und hier der Wert, den der Parameter haben muss
| |
| --
| |
| -->{{#vardefine:matchvalue|{{lc:{{#explode:{{{match|}}}|:|1}}}}}}<!--
| |
| --
| |
| -- Das ergibt dann folgenden regulären Ausdruck
| |
| --
| |
| -->{{#vardefine:includematch|{{#if:{{{match|}}}|/\¦\s*{{#var:matchparameter}}\s*=\s*{{#var:matchvalue}}\s*\n/}}}}<!--
| |
| --
| |
| -- und jetzt das Ganze für das nomatch-Gedöhnse
| |
| --
| |
| -->{{#vardefine:nomatchparameter|{{lc:{{#explode:{{{nomatch|}}}|:|0}}}}}}<!--
| |
| --
| |
| -- und hier der Wert, den der Parameter haben muss
| |
| --
| |
| -->{{#vardefine:nomatchvalue|{{lc:{{#explode:{{{nomatch|}}}|:|1}}}}}}<!--
| |
| --
| |
| -- Das ergibt dann folgenden regulären Ausdruck
| |
| --
| |
| -->{{#vardefine:noincludematch|{{#if:{{{nomatch|}}}|/\¦\s*{{#var:nomatchparameter}}\s*=\s*{{#var:nomatchvalue}}\s*\n/}}}}<!--
| |
| --
| |
| -- Das wir jetzt in die Datenbank und das Ergebnis in eine Variable
| |
| --
| |
| -->{{#vardefine:number|{{#expr:{{#dpl:
| |
| |debug=0 | | |debug=0 |
| |noresultsheader=0 | | |noresultsheader=0 |
| |mode=userformat | | |mode=userformat |
| |namespace=Projekt | | |namespace=Projekt |
| |titlematch=Ka-Mel-Oh!/Datenbank% | | |titlematch=Ka-Mel-Oh!/Datenbank/% |
| |includematch={{#var:includematch}}
| |
| |includenotmatch={{#var:noincludematch}}
| |
| |include={Ka-Mel-Oh}!/NUMBEROFCARDS | | |include={Ka-Mel-Oh}!/NUMBEROFCARDS |
| }}}}}}<!-- | | }}}}<noinclude> |
| --
| |
| -- Zum Abschluss schauen wir, ob unser Ergebnis numerisch ist
| |
| --
| |
| -->{{#if:{{IstZahl|{{#var:number}}}}|{{#var:number}}|<span style="color:red; font-weight:bold;">Da ist wohl was schief gelaufen</span>}}<noinclude>
| |
|
| |
|
| ---- | | ---- |
| Zeile 44: |
Zeile 12: |
|
| |
|
| <div class="hs-box" style="background-color:ivory;border:1px solid #ffa500; font-size:1; padding:-5px;"> | | <div class="hs-box" style="background-color:ivory;border:1px solid #ffa500; font-size:1; padding:-5px;"> |
| | | Die Vorlage wird gerade umgebaut ... bis dahin funktionieren keine Übergabeparameter |
| Die Vorlage gibt die Anzahl an [[Projekt:Ka-Mel-Oh!|Ka-Mel-Oh!]]-Spielkarten zurück, die aktuell in den [[Projekt:Ka-Mel-Oh!/Datenbank|Datenbanken]] enthalten sind. Die Suche lässt sich mit den zwei Variablen <code>'''<nowiki>{{{match}}}</nowiki>'''</code> und <code>'''<nowiki>{{{nomatch}}}</nowiki>'''</code> auf Karten eingrenzen, die einen bestimmten Parameter mit einem bestimmten Wert enthalten. Die Syntax ist <code><nowiki>{{NUMBEROFCARDS|match =</nowiki> '''Parametername:Wert'''}}</code> bzw. <code><nowiki>{{NUMBEROFCARDS|nomatch =</nowiki> '''Parametername:Wert'''}}</code> (Die Kombination aus <code>'''<nowiki>{{{match}}}</nowiki>'''</code> und <code>'''<nowiki>{{{nomatch}}}</nowiki>'''</code> ist möglich). | |
| | |
| Z.B. ergibt der Aufruf <code><nowiki>{{NUMBEROFCARDS|match = typ:item}}</nowiki></code> die aktuelle Anzahl der Item-Karten (Achtung: ohne Fusions- und Mutations-Items!), nämlich {{NUMBEROFCARDS|match = typ:item}}, der Aufruf <code><nowiki>{{NUMBEROFCARDS|nomatch = handicap:sonder}}</nowiki></code> die Anzahl aller regulären Karten ohne Sonderkarten, nämlich {{NUMBEROFCARDS|nomatch = handicap:sonder}} und der Aufruf <code><nowiki>{{NUMBEROFCARDS|match = typ:item|nomatch = handicap:sonder}}</nowiki></code> die Anzahl aller regulären Item-Karten, nämlich {{NUMBEROFCARDS|match = typ:item|nomatch = handicap:sonder}} <small>zumindest würde die Vorlage die passenden Werte zurückgeben, wenn die Datenbanken schon fertig wären.</small>.
| |
| | |
| Eignet sich damit prima zum [[Projekt:Ka-Mel-Oh!/Häufigkeiten|Schwanzlängenvergleich]] (<code><nowiki>{{NUMBEROFCARDS|match = autor:Dein Kamelname}}</nowiki></code>).
| |
| | |
| Man kann der Vorlage auch reguläre Ausdrücke übergeben (Perl-Syntax), aber damit kann man ganz schön viel kaputt machen, wenn man sich nicht damit auskennt (doofe Fehlermeldungen und so). Grundsätzlich muss Wiki ziemlich rumrechnen (was [[Kamel:MediaWiki default|er/sie]] gar nicht mag), und darum sollte man das Ding vielleicht etwas sparsamer einsetzen, als ich das hier gerade tue ...
| |
| </div>[[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> | | </div>[[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> |
Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
Die Vorlage wird gerade umgebaut ... bis dahin funktionieren keine Übergabeparameter