Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
#1 Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Hi ihr,
ich experimentiere schon länger mit den Templates herum und konnte das ein oder andere umstellen oder selbst coden. Bei meinem aktuellen Projekt komme ich jedoch nicht weiter und wollte hier mal um Hilfe fragen.
Folgendes wäre meine Idee/mein Ziel:
Durch die Profilangaben der einzelnen Mitglieder hat man einige Informationen. Allein wie viele Männer und Frauen es gibt, wenn man alles zusammenzählt, wer wann Geburtstag hat und bei uns durch den RPG Bezug auch, wer in welcher Kolonie lebt und vieles mehr.
Wir würden nun gerne in unserem Forum unten im Footer nicht nur die Gesamtmitgliederanzahl anzeigen lassen (ist schon integriert), sondern auch gerne eine Übersicht, wie viele Männer es gibt, wie viele Frauen und wie viele bespielte Mitglieder die jeweiligen Kolonien hat.
Durch das Grundverständnis im Programmieren wäre der Aufbau ziemlich "simple" von der Logik:
1. Schleife, die so lange geht, wie viele Mitglieder es gibt (kann man ja leicht abrufen mit {{user_count|numberformat}} )
2. Abfrage/Aufrufung aller Profile (sollte per User ID gehen, allerdings ist da die Frage, wie man die korrekten bekommt, per Schleife kann man nur von 0 bis zur Mitgliederanzahl hochzählen, doch die IDs gehen höher, da es ja mit jedem bisher bestehenden Account hochzählt, inklusiver gelöschter Accounts, wodurch die Schleife früher zuende wäre)
3. im Beispiel mit den Männern und Frauen zwei Variablen, die per if-else-Schleife hochzählen, je nachdem was das Geschlecht war, geht die eine oder andere Variable hoch
4. die Ergebnise im Footer ausspielen
ganz grob würde es so aussehen, nur dann eben in html geschrieben:
x = 0;
count_m = 0;
count_w = 0;
MitgliedXX = userid(0);
while (x <= Mitgliederanzahl) {
if(Mitglied_XX == Männlich) {
Mitglied_XX += 1;
count_m += 1;
x += 1; }
else(Mitglied_XX == Weiblich) {
Mitglied_XX += 1;
count_w += 1;
x += 1;}
}
Für die Umsetzung hapert es bei mir jedoch am html Wissen bzw wie die Templates von Xobor aufgebaut sind. Daher stellen sich mir folgende Fragen:
- wie kann ich eine Schleife erstellen? (auch hier Programmier-Wissen => sollte mit einer While-Schleife machbar sein, nur wie schreib ich die in diesem Fall)
- wie kann ich die einzelnen User IDs von allen Mitgliedern aufrufen?
- wie kann ich einzelne Profilfelder der Mitglieder abrufen?
Ich wäre über jegliche Hilfe dankbar, sei es allein, dass mir jemand eine gute Seite zeigt, wo ich alles nachschlagen kann (auf der Plugin-Xobor-Dokumentation wurde ich leider nicht fündig, aber gut möglich, dass ich etwas übersehen habe).
Liebe Grüße und schon mal vielen Dank für die Hilfe,
Grace
PS.: Falls ich am Ende mit eurer Hilfe erfolgreich bin, kann ich gerne bei Interesse den vollständigen Code dann auch gern euch zur Verfügung stellen :)
#2 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Mit einem Plugin und getDeepList und getDeep lässt sich das machen.
Ich weiß aber nicht wieviele User du mit getDeep auf einmal abfragen kannst.
In meinem Forum mit ca. 230 User hat das funktioniert.
Ich würde das mit einem Button starten und nur von Admins damit nicht bei jedem Seitenaufruf das Script läuft. Das würde wahrscheinlich zu Stress auf den Servern verursachen.
Das Script läuft in allen Templates.
"DEINE_PLUGIN_ID" musst du mit deiner Plugin id ersetzen.
Die Ergebnisse in einer dataVar speichern die man dann bei Bedarf irgendwo ausgeben kann.
Infos zu Plugins findest du hier:
https://www.xobor.de/plugin-doc-api.html
Wiki:Plugin-Tutorial-fuer-Einsteiger-bersicht
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{{template!==177.start}}
<script>
{{template!==177.end}}
{{template==177.start}}
{{footerjs.start}}
{{footerjs}}
{{template==177.end}}
console.log("- begin -- userliste ----");
/* begin - Liste mit allen user_id erstellen */
var userliste = [];
var idata = {target_type : 3, limit : "all"}
xobor.plugin("userliste01").getDeepList(idata,function(res){
for (let user_id in res) {
userliste.push(user_id);
}
});
/* end - Liste mit allen user_id erstellen */
/* begin - Daten aller User abrufen */
var jdata = {target_type: 3, target_id: userliste};
xobor.plugin("userliste01").getDeep(jdata,function(res){
$.each(res,function(){
console.log("Username: "+this.uname);
/*
this.user_id
this.usertitle
this.user_points
this.user_posts
this.user_link
this.userimage
this.avatar_width
this.avatar_height
this.uname
this.user_gender
this.usercolor
this.user_moderator
this.user_admin
*/
});
});
/* begin - Daten aller User abrufen */
console.log("- end -- userliste ----");
{{template==177.start}}
{{footerjs.end}}
{{template==177.end}}
{{template!==177.start}}
</script>
{{template!==177.end}}
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
#3 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
danke für deine schnelle und hilfreiche Antwort <3 Ich werde mich dann mal weiter in die Plugins reinarbeiten, wäre mein erstes. Verzeih mir also, falls ich dich nochmal wegen ein zwei Fragen anschreiben werde.
Eine Frage hätte ich jedoch schon direkt. Kann man auch eigene Profilfelder mithilfe deines Scripts aufrufen? Im Template habe ich gesehen, dass es mit der Variable "optfields" aufgerufen wird, kann man dies dann auch mit einer ID verknüpfen und so eine Liste aus den einzelnen eigenen Profilfeldern anlegen und ausspielen lassen?
Liebe Grüße,
Grace
#4 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
In Mike seinen Plugin ist zu sehen,welche Infos man über die "user_profile" per "getDeep()" Funktion von jeden User abfragen kann.
Mehr lässt sich über die Profile von jeden User so nicht abfragen.
Du könntest jeden User sein Profil aufrufen und dann die entsprechenden Infos herausziehen und dann abspeichern und danach in den Footer anzeigen.Wäre aber sehr mühseelig.
Aber eine komplette Abfrage der für Dich entsprechenden Infos über alle User aufeinmal,wüßte ich jetzt nicht,das es sowas gibt.
Ich habe aber mal Mike sein Plugin vervollständigt,das in den Statistiken die Anzeige erscheint,wieviel männliche und weibliche User das Forum hat.
Wie Mike schon schrieb,mit einem Button nur für den Admin zum aktualisieren der Anzeige,damit nicht bei jeden Aufruf des Forums,das in diesem Fall serverlastige "getDeep()",geladen wird.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<script>
{{user_admin==true.start}}
$("#foverview_stat3 table").prepend('<input id="ma_fr" type="button" class="button" value="Aktualisieren">');
{{user_admin==true.end}}
$('#ma_fr').click(function(){
var userliste = [];
var maennlich = 0;
var weiblich = 0;
var idata = {target_type : 3, limit : "all"}
xobor.plugin("testprobe").getDeepList(idata,function(res){
userliste = Object.keys(res);
});
var jdata = {target_type: 3, target_id: userliste};
xobor.plugin("testprobe").getDeep(jdata,function(res){
$.each(res,function(){
if(this.user_gender_m){
maennlich++;
}
if(this.user_gender_w){
weiblich++;
}
});
});
var zusammen = maennlich +','+weiblich;
xobor.plugin("testprobe").setGlob('test2',zusammen)
location.reload();
});
zusammen = xobor.plugin("testprobe").getGlob('test2');
var geteilt = zusammen.split(',');
$("#foverview_stat3 table").prepend('<tr style="border-top: 1px solid #3c566a;"><td style="padding: 5px 0px;">Weibliche Mitglieder</td><td style="padding: 5px 0px;">'+geteilt[1]+'</td></tr>'+
'<tr style="border-top: 1px solid #3c566a;"><td style="padding: 5px 0px;">Männliche Mitglieder</td><td style="padding: 5px 0px;">'+geteilt[0]+'</td></tr>');
</script>
Gruß
Olaf
#5 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
#6 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Das Plugin lässt sich für alle Templates ergänzen.
Dieses ist für das Business.
Gruß
Olaf
#7 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
#8 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Du kannst auch mein Plugin haben,das ist für alle Templates.
Gruß
Olaf
#9 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
#10 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Wenn Du mir Deine Boardnummer nennst,dann kann ich Dir das Plugin als "private Plugin" zusenden.
Gruß
Olaf
#11 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
#12 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Ich habe das Plugin in den Plugin Store gesendet und mal sehen,ob Ingmar es freigibt.
Dann kann jeder das Plugin,der es haben möchte,einfach wie gewohnt über Plugins installieren.
Gruß
Olaf
#13 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Ingmar hat das Plugin freigegeben und jeder kann es nun im Plugin-Store selber installieren.
Danke Ingmar.
Gruß
Olaf
#14 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
Und es funktioniert sogar. Klasse Olaf.
#15 RE: Eigene Statistiken/Übersichten erstellen mithilfe der Mitglieder-Profilangaben? - Need Coding Help
In Deinem Forum hat das Plugin nicht viel zu tun...
Gruß
Olaf
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software