Szablon:Punktacja: Różnice pomiędzy wersjami
(+) |
(plus komentarze do kodu) |
||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 4: | Linia 4: | ||
{{#vardefine: pktp0|{{#ask: [[Category:Biblioteka - katalog artykułów prasowych]] [[Art poprawiony przez::{{BASEPAGENAME}}]]|?Art punkty p|limit=1500|format=sum}} }} | {{#vardefine: pktp0|{{#ask: [[Category:Biblioteka - katalog artykułów prasowych]] [[Art poprawiony przez::{{BASEPAGENAME}}]]|?Art punkty p|limit=1500|format=sum}} }} | ||
<!--- Zliczamy punkty za dodanie wpisu (pktp0) ---> | <!--- Zliczamy punkty za dodanie wpisu (pktp0) ---> | ||
− | {{#vardefine: pktd0|{{#ask: [[Category:Biblioteka - katalog artykułów prasowych]] [[Art dodany przez::{{BASEPAGENAME}}]]|?Art punkty d|limit=1500|format=sum}} }} | + | <!--- Funkcja #number_format zapewnia prawidłowe formatowanie wyniku. Bez niej separatorem tysięcy jest przecinek, a to generuje błąd, bo musi być kropka. ---> |
+ | {{#vardefine: pktd0|{{#number_format: {{#ask: [[Category:Biblioteka - katalog artykułów prasowych]] [[Art dodany przez::{{BASEPAGENAME}}]]|?Art punkty d|limit=1500|format=sum}}|_|.||,}} }} | ||
<!--- Badamy, czy pktp0 i pktd0 nie są pustymi łańcuchami. Jeśli nie są, to przpisujemy ptkp = pktp0, pktd = pktd0. Jeśli są, to: pktp=0, pktd=0 ---> | <!--- Badamy, czy pktp0 i pktd0 nie są pustymi łańcuchami. Jeśli nie są, to przpisujemy ptkp = pktp0, pktd = pktd0. Jeśli są, to: pktp=0, pktd=0 ---> | ||
Linia 10: | Linia 11: | ||
<!--- pktp0, pktd0 - liczba punktów za poprawienie, liczba punktów za dodanie przed sprawdzeniem, czy zmienne są puste ---> | <!--- pktp0, pktd0 - liczba punktów za poprawienie, liczba punktów za dodanie przed sprawdzeniem, czy zmienne są puste ---> | ||
<!--- pktp, pktd - liczba punktów za poprawienie, liczba punktów za dodanie po sprawdzeniu, czy zmienne są puste i ewentualnym przypisaniu im wartości 0 ---> | <!--- pktp, pktd - liczba punktów za poprawienie, liczba punktów za dodanie po sprawdzeniu, czy zmienne są puste i ewentualnym przypisaniu im wartości 0 ---> | ||
− | <!--- Nie jest możliwe proste | + | <!--- Nie jest możliwe proste przypisanie istniejącej zmiennej nowej wartości, stąd konieczne jest użycie pary zmiennych ---> |
{{#if: {{#var: pktp0|}}|{{#vardefine: pktp|{{#var: pktp0}} }}|{{#vardefine: pktp|0}} }} | {{#if: {{#var: pktp0|}}|{{#vardefine: pktp|{{#var: pktp0}} }}|{{#vardefine: pktp|0}} }} | ||
{{#if: {{#var: pktd0|}}|{{#vardefine: pktd|{{#var: pktd0}} }}|{{#vardefine: pktd|0}} }} | {{#if: {{#var: pktd0|}}|{{#vardefine: pktd|{{#var: pktd0}} }}|{{#vardefine: pktd|0}} }} | ||
<!--- Obliczamy sumę pktp + pktd ---> | <!--- Obliczamy sumę pktp + pktd ---> | ||
+ | <!--- Funkcja #number_format zapewnia prawidłowe formatowanie wyniku. Bez niej separatorem tysięcy jest przecinek, a to generuje błąd, bo musi być kropka. ---> | ||
{{#vardefine:pktsuma|{{#expr: {{#number_format: {{#var: pktd}}|_|.||,}} + {{#var: pktp}} }} }} | {{#vardefine:pktsuma|{{#expr: {{#number_format: {{#var: pktd}}|_|.||,}} + {{#var: pktp}} }} }} | ||
Aktualna wersja na dzień 02:50, 11 kwi 2019
Zastosowanie i funkcja szablonu[edytuj]
Szablon umożliwia zliczanie punktów uzyskanych przez uczestnika konkursu Enkolu. Należy go umieścić na stronie uczestnika konkursu.
Opis techniczny[edytuj]
Wymagania[edytuj]
Szablon do poprawnego działania wymaga:
- Semantic MediaWiki
- Rozszerzenia Variables
Opis działania[edytuj]
Szablon sumuje punkty uzyskane przez danego użytkownika za dodanie wpisów do katalogu artykułów prasowych oraz za poprawienie wpisów dodanych przez innych użytkowników. Pierwsza para kwerend sumuje punkty (atrybuty Art punkty p - za poprawienie, Art punkty d - za dodanie), druga para kwerend zlicza poszczególne rodzaje edycji wykonanych przez użytkownika (poprawki, dodania wpisów - atrybuty Art poprawiony przez i Art dodany przez). Uzyskane wyniki wstawia do tabelki oraz zapisuje uzyskane dane w postaci atrybutów (wartości semantycznych) przypisanych do danego użytkownika. Zapisane wartości nie są obecnie dalej wykorzystywane - funkcja została zaimplementowana "na zapas".
Szablony wykorzystywane przez ten szablon[edytuj]
Ten szablon nie ma szablonów podrzędnych.
Szablony korzystające z tego szablonu[edytuj]
Nie ma szablonów korzystających z tego szablonu
Błędy[edytuj]
Zauważone błędy należy zgłaszać na Forum Enkolu w dziale Zgłoś błąd.