Twoje pytanie naprawdę składa się z 2 części, tj. Jak wdrożyć:
- systemu reputacji , który jest jak oceny przez wielu użytkowników o konkretnym użytkownikiem.
- układ cele osiągnięcie , które jest jak nagradzanie użytkownikowi po ukończeniu różne zadania, wyzwania, itp
Czytaj dalej, aby uzyskać więcej informacji na temat wdrażania każdego z obu systemów.
System realizacji celów
Zazwyczaj istnieją 2 moduły, z których możesz wybrać taki system, tj .:
Do osiągnięć moduł, jak zasugerowano w innym już odpowiedź. Ten moduł w dużej mierze opiera się na niestandardowym kodowaniu do obsługi wielu funkcji.
The Cele modułu (Ujawnienie: Jestem opiekunem nim), które mogą być wykorzystywane do zachęcania nic na swojej stronie, takich jak głosowanie, udostępnianie treści, tworzenia relacji, itd.
Cele i zadania są wdrażane przy użyciu encji polowych. Oto niektóre przykłady zadań do wykonania:
- Zaloguj się do serwisu raz dziennie przez trzy kolejne dni.
- Opublikuj liczbę węzłów wybranych typów treści.
- Nawiąż połączenie z przyjacielem na stronie.
- Itp.
Możesz dostosować Cele poprzez „Zarządzaj polami” i / lub „Zarządzaj wyświetlaniem”. Wszystko można zrobić tylko za pomocą funkcji budowania witryny (bez udziału niestandardowego kodu), chociaż dostępne są haczyki umożliwiające integrację z niestandardowym kodowaniem. Tak więc moduł Cele opiera się na konfiguracji interfejsu administratora. Ponadto cele i zadania w module Cele są obiektami z możliwością zmiany pola, więc możesz elastycznie dodawać dodatkowe pola i włączać te elementy do widoków . Za pomocą Goals Extraspodmodułu integruje się również z modułem Punkty użytkownika .
Przejdź do filmu o celach, który zawiera:
- ogólne wprowadzenie do modułu.
- demonstracja instalacji, konfiguracji i użytkowania.
- próbki tego, jak używa modułów Reguły do wykonywania swojej magii (tj. do śledzenia postępów użytkownika w osiąganiu różnych celów).
System reputacji
Korzystając z modułu Odpowiedzi (Ujawnienie: jestem jego (współ) opiekunem), możesz „ wprowadzić system dobrej reputacji ” (jak w twoim pytaniu). Oto kilka szczegółów na ten temat (ze strony projektu):
Odpowiedzi umożliwia wdrożenie systemu pytań i odpowiedzi w witrynie Drupal. Użytkownicy mogą publikować pytania, a inni użytkownicy mogą na nie odpowiadać.
Przejdź na stronę projektu, aby uzyskać więcej informacji. Odwiedź jego stronę demo dla demonstracji (w trybie tylko do odczytu anonimowych użytkowników) z dnia Wyświetleń list w oparciu o:
Moduł „core” Answers włącza typy treści Pytanie i Odpowiedź , natomiast Odpowiedzi są wyświetlane poniżej pytania, którego dotyczą. Te 2 typy zawartości są obsługiwane, możesz zarządzać ich wyświetleniami itp.
Użyj jego podmodułów, aby włączyć wybraną funkcjonalność (w oparciu o wymagania strony), tj .:
- Odpowiedzi Najlepsza odpowiedź , która pozwala zaznaczyć dowolną odpowiedź na określone pytanie jako najlepszą (zaakceptowaną) odpowiedź (aby wyświetlić niebieskie znaczniki po lewej stronie każdej odpowiedzi, i która jest zastępowana zielonym znacznikiem wyboru, gdy odpowiedź jest zaznaczona jako najlepsza odpowiedź).
- Temat odpowiedzi , który przekształca (raczej nudny) waniliowy obraz pytania (i powiązane z nim odpowiedzi poniżej), w sposób o wiele bardziej atrakcyjny. Takich jak pomarańczowa bańka dodawana wokół pytania (aby lepiej je zaznaczyć).
- Powiadomienia o odpowiedziach , aby umożliwić zalogowanym użytkownikom zasubskrybowanie wybranych pytań, tak aby otrzymywali powiadomienia (za pomocą stosu wiadomości ), gdy pytania otrzymają odpowiedzi.
- Odpowiedzi Głosowanie , aby wdrożyć system głosowania lub głosowania na pytania i / lub odpowiedzi (który korzysta zmodułu Oceń ).
- Odpowiada na punkty użytkownika , aby zwiększyć lub zmniejszyć „ punkty reputacji ” (który korzysta zmodułu Userpoints ) w przypadku takich wydarzeń, jak głosowanie w górę lub w dół pytania lub odpowiedzi lub oznaczenie odpowiedzi jako „ najlepszej odpowiedzi ”.
Spora część jego „logiki biznesowej” jest implementowana za pomocą różnego rodzaju konfigurowalnych reguł (za pomocą Reguł modułu ). Na przykład, jeśli nie zgadzasz się z nieszablonowymi zasadami określającymi, ile „punktów użytkownika” przyznaje się do pytania (lub odpowiedzi), które zostało ocenione (lub negatywnie ocenione), wystarczy użyć interfejsu użytkownika, aby dostroić ilość takich punktów do twoich wymagań. Np .: czy pytania downvotingowe powinny być naprawdę darmowe (tj .: czy downvoter powinien stracić jakieś punkty?).
Dla kompletności poniżej znajduje się reguła (w formacie eksportu reguł), która służy do przyznania autorowi odpowiedzi punktów „+15” wraz z punktami „+2” dla użytkownika, który oznaczy tę odpowiedź jako zaakceptowaną (= autor pytania ), podczas gdy zaznaczenie go jako takiego odbywa się poprzez oznaczenie tej odpowiedzi jako „najlepszej odpowiedzi” (przy użyciu modułu Flaga ):
{ "rules_flag_answers_best_answer" : {
"LABEL" : "flag_answers_best_answer",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"TAGS" : [ "answers" ],
"REQUIRES" : [ "rules", "userpoints_rules", "flag" ],
"ON" : { "flag_flagged_best_answer" : [] },
"IF" : [
{ "NOT data_is" : { "data" : [ "flagging-user" ], "value" : [ "flagged-node:author" ] } }
],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "flagged-node:author" ],
"points" : "15",
"tid" : "0",
"entity" : [ "" ],
"operation" : "addPoints",
"display" : 1,
"moderate" : "default"
}
},
{ "userpoints_action_grant_points" : {
"user" : [ "flagging-user" ],
"points" : "2",
"tid" : "0",
"entity" : [ "" ],
"operation" : "addPoints",
"display" : 1,
"moderate" : "default"
}
}
]
}
}