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.
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.
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)

Bearbeiten

Eine Testseite illustriert praktische Beispiele.

Funktionen für Lua-Module

Bearbeiten

Alle 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

Bearbeiten

Abhängigkeiten

Bearbeiten

Keine.