Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
CatUtil
– Modul mit Hilfsfunktionen im Zusammenhang mit Kategorien.
Funktionen für Vorlagen
Bearbeiten- count
- Gesamtzahl der Elemente (Seiten) in mehreren Kategorien.
- Das Ergebnis ist eine unformatierte Zahl (ohne Tausendertrennzeichen), sonst eine formatierte Fehlermeldung bei unerlaubten Parametern oder ein ergebnisabhängiger Alternativtext.
- Bis zu 400 Titel von Kategorien können ausgezählt werden; siehe Hilfe:Vorlagenbeschränkungen #expensive.
- Parameter der umgebenden Vorlageneinbindung (alle optional):
- 1
- Titel der ersten auszuzählenden Kategorie.
- Als Titel darf der Namensraum
Kategorie:
nicht vorangestellt sein. - Weder muss eine Kategoriebeschreibungsseite vorhanden sein, noch muss es Einträge geben. Es wird durchgezählt, ob irgendwo im Projekt etwas auf diese Weise kategorisiert wurde.
- 2 3 4 5 6 7 8 9 …
- Beliebig viele weitere Titel von Kategorien.
- Die numerisch angegebenen Parameter müssen nicht lückenlos aufeinander folgen. Bei den in der Regel zu erwartenden unbenannten Parametern wäre das allerdings automatisch der Fall.
- scope
- Art der zu zählenden Einträge.
- Einer von
pages files subcats all
– Seiten, Mediendateien, Unterkategorien oder alle vorgenannten. - Vorgabe:
pages
- show0
- Wenn kein Eintrag gefunden wird, dann statt der Zahl
0
diesen Text anzeigen. - Ein leerer Parameterwert unterdrückt die Anzeige.
- showN
- Wenn mindestens ein Eintrag gefunden wird, dann statt der Zahl diesen Text anzeigen.
- Wenn der Parameter den Platzhalter
%d
enthält, dann an dieser Stelle die gefundene Anzahl darstellen.- Alle sonstigen Prozentzeichen müssen dann und nur dann durch
%
oder%%
escaped werden. - Auch die Notation
{{formatnum:%d}}
kann eingesetzt werden, um größere Zahlen mit Tausendertrennzeichen zu formatieren.
- Alle sonstigen Prozentzeichen müssen dann und nur dann durch
- Ein leerer Parameterwert unterdrückt die Anzeige.
- show1
- Wenn genau ein Eintrag gefunden wird, dann statt der Zahl
1
diesen Text anzeigen. - Wirkt unabhängig davon, ob showN angegeben wurde.
- Ein leerer Parameterwert unterdrückt die Anzeige.
- countYears
- Ähnlich count, jedoch mit einem einzigen Mustertitel, der mit fortlaufend durchgezählten Zahlen angewendet wird, was insbesondere bei Jahreszahlen hilfreich ist.
- Parameter der umgebenden Vorlageneinbindung (optional, wo nicht gesondert angegeben):
- serial
- Mustertitel für alle Kategorien.
- Pflichtparameter
- Muss den Platzhalter
%d
enthalten, an dessen Stelle der jeweilige Zahlenwert eingefügt wird. - Alle sonstigen Prozentzeichen müssen durch
%
oder%%
escaped werden. - since
- Startwert für die einzufügenden Zahlenwerte.
- Pflichtparameter
- Natürliche Zahl ≥0.
- stop
- Endwert für die einzufügenden Zahlenwerte.
- Vorgabe: Aktuelle Jahreszahl.
- Natürliche Zahl ≥0.
- Relative Angabe
+
nn oder-
nn beispielsweise wie folgt:+1
nächstes Jahr.+2
übernächstes Jahr.-1
letztes Jahr.
- scope
- Art der zu zählenden Einträge.
- Einer von
pages files subcats all
– Seiten, Mediendateien, Unterkategorien oder alle vorgenannten. - Vorgabe:
pages
- show0
- Wenn kein Eintrag gefunden wird, dann statt der Zahl
0
diesen Text anzeigen. - Ein leerer Parameterwert unterdrückt die Anzeige.
- showN
- Wenn mindestens ein Eintrag gefunden wird, dann statt der Zahl diesen Text anzeigen.
- Wenn der Parameter den Platzhalter
%d
enthält, dann an dieser Stelle die gefundene Anzahl darstellen.- Alle sonstigen Prozentzeichen müssen dann und nur dann durch
%
oder%%
escaped werden. - Auch die Notation
{{formatnum:%d}}
kann eingesetzt werden, um größere Zahlen mit Tausendertrennzeichen zu formatieren.
- Alle sonstigen Prozentzeichen müssen dann und nur dann durch
- Ein leerer Parameterwert unterdrückt die Anzeige.
- show1
- Wenn genau ein Eintrag gefunden wird, dann statt der Zahl
1
diesen Text anzeigen. - Wirkt unabhängig davon, ob showN angegeben wurde.
- Ein leerer Parameterwert unterdrückt die Anzeige.
Beispiele (Testseite)
BearbeitenEine Testseite illustriert praktische Beispiele.
Funktionen für Lua-Module
BearbeitenAlle oben dokumentierten Funktionen können auch über require()
in andere Module eingebunden werden:
local lucky, CatUtil = pcall( require, "Module:CatUtil" )
if type( CatUtil ) == "table" then
CatUtil = CatUtil.CatUtil()
else
-- Fehlerfall; CatUtil enthält Fehlermeldung
return "<span class=\"error\">" .. CatUtil .. "</span>"
end
Danach steht zur Verfügung:
- CatUtil.execute(activate, args)
-
- activate – string mit dem Funktionsnamen
- args – table mit den Parametern wie für Vorlagen
- Numerische Werte können als number oder als string angegeben werden.
- Rückgabewert ist ggf. eine number; im Fehlerfall auch eine HTML-formatierte Fehlermeldung usw.
Verwendung
BearbeitenAbhängigkeiten
BearbeitenKeine.