Szablon:Punktacja: Różnice pomiędzy wersjami

Z Enkol
Przejdź do nawigacji Przejdź do wyszukiwania
(+)
(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 przpisanie istniejącej zmiennej nowej wartości, stąd konieczne jest użycie pary zmiennych --->
+
<!--- 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


[edytuj] [[[:Szablon:Odśwież]]] Dokumentacja

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.