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.
Grundkurs Plugins schreiben
Zitat
Ich möchte gerne die Anzahl der Antworten der Themen vom ganzen Forum abfragen
Du hast doch {{topics_count}} schon. Was willst du denn noch abfragen? Oder versteh ich da was falsch?
Zitat
Wieso funktioniert es nicht mit meheren ID's,wie es in der Dokumentation als Beispiel steht?
Das ist ein Fehler in den Docs...
Richtig wäre
var daten = {target_id: [1,2,3,4,5,6,7,8,9,10], target_type: '1'}
- also OHNE die Anführungszeichen um den Array.
Generell muss du mit der getDeep bzw getDeepList vorsichtig umgehen. So eine while - Schleife wie in deinem Beispiel, die mal eben für jede ID < themen_anzahl einen getDeep-Call macht kann den Server schon ganz schön beschäftigen...
Erstmal Danke für Deine Antwort.
Zitat von Ingmar im Beitrag #106
Du hast doch {{topics_count}} schon. Was willst du denn noch abfragen? Oder versteh ich da was falsch?
Du als Profi siehst doch in meinem Script,das es mir um die Antwortenanzahl jeden einzelnen Themas geht und nicht um die Gesamtanzahl der Themen im Forum.
Die Variable "{{topics_count}}" brauche ich,um die Anzahl der Themen ID's zu ermitteln.
So sieht jetzt mein Script aus:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
var id_nr = new Array();
var ergebniss = [];
var themen_anzahl ="{{topics_count}}";
for(i=1;i-2 < themen_anzahl;i++){
id_nr.push(i)
}
var daten = {target_id: id_nr, target_type: '1'}
xobor.plugin('lesetest').getDeep(daten,function(a){
$.each(a, function(key, value) {
ergebniss.push(value['answers']);
});
});
alert(ergebniss)
</script>
Nun sehe ich in meiner alert Ausgabe,das einige ID's nicht ausgegeben werden,weil die Themen wahrscheinlich gelöscht worden sind.
Ist das Richtig,das die gelöschten Themenanzahl in der Variable "{{topics_count}}" nicht abgezogen werden?
Habe ich z.B. 77 Themen und lösche 10 dann zeigt mir die Variable "{{topics_count}}" trotzdem 77 an?
Und ist das auch so bei den Antwortenanzahl,das z.B. bei 50 Antworten 10 gelöschte mir die Datenbank trotzdem 50 anzeigt?
Gruß
Olaf
#108 RE: Grundkurs Plugins schreiben - Grundlagen
Zitat von Olaf im Beitrag #107
Nun sehe ich in meiner alert Ausgabe,das einige ID's nicht ausgegeben werden,weil die Themen wahrscheinlich gelöscht worden sind.
Ist das Richtig,das die gelöschten Themenanzahl in der Variable "{{topics_count}}" nicht abgezogen werden?
Nein, das ist nicht richtig. {{topics_count}} enthält immer die aktuelle Themenanzahl. Sollte das mal nicht Fall sein, kann man über die "Zähler neu berechnen"-Funktion korrigiert werden.
Wenn du z.B. 100 themen erstellst erhalten diese theoretisch die IDs 1-100. Löschst du nun die ersten 50, haben deine restlichen themen die Ids 51-100, der topic_count ist aber 50. Dein Skript würde dann keines der 50 Themen über die Id ansprechen.
Von Topic-count auf bestehende Themen-Ids zu schließen ist daher nicht sinnvoll/zielführend.
Zitat
Du als Profi siehst doch in meinem Script,das es mir um die Antwortenanzahl jeden einzelnen Themas geht und nicht um die Gesamtanzahl der Themen im Forum.
Schon in einem Forum mit 100 Themen müsstest du ja (vorrausgesetz du kennst die Themen-Ids) 100 Ajax-Calls machen, um die Antworten in den einzelnen Themen anzeigen zu können. Bei größeren Foren noch viel mehr. Das scheint mir spontan ein bischen viel Datenübertragung für eine Statistik-Anzeige
Ich kann dir daher auch keinen "effektiven" Lösungsweg nennen, wie du am zu jedem Thema die Id findest um dann infos dazu abzurufen - dazu ist einfach das Ziel zu ineffektiv.
Ich als Client habe ja keine andere Möglichkeit,den Server bei jeder Themen-ID nur einen einzigen bestimmten Key abzufragen.(vorrausgesetzt,die Themen ID's sind bekannt)
Dadurch ist mir klar,das jede Themen-ID 25 Einträge hat und bei 100 Themen würden dann 2500 Einträge abgefragt,wobei ich nur 100 Einträge davon verarbeite.
Eine Menge unnötige Serverlast...
Danke für Deine Infos.
Gruß
Olaf
Ich habe mein Plugin "Lesezeichen" umgeschrieben von "localstore" (cookie) auf Datenvariablen,damit die abgespeicherten Lesezeichen dauerhaft zur Verfügung stehen.
Da das Anzeigefenster vom Plugin überall im Forum aufgerufen werden sollte,brauche ich beim auslesen der Daten einen origin type,der auch überall im Forum zur Verfügung steht.
Ich habe dafür den origin type "plugin" (1337) genommen,womit ich die Daten im ganzen Forum abfragen kann.Natürlich sind die Daten immer mit der Mitglied ID ({{user_id}}) verbunden.
Ist dieser origin type dafür vorgesehen oder sollte ich einen anderen für meine Zwecke nehmen?
Gruß
Olaf
Ist es vielleicht möglich,das ein Techniker fünf Minuten Zeit hat und mir die hier oben genannte Frage beantwortet?
Gruß
Olaf
OK.Danke,
Dann nehme ich den.
Gruß
Olaf
Ich habe nun mein Script auf den OriginType: user_login (5) umgeschrieben und seitdem kann ich keine Datenvaiablen mehr beschreiben:
2
3
4
5
xobor.plugin("info").setDataVar("ohopen",5,{{user_id}},1);
xobor.plugin("info").getDataVar("ohopen",5,{{user_id}},function(res){
alert(res);
});
Die Ausgabe bleibt "0".
Auch habe ich wieder die Datenvariablen auf den alten OriginType: plugin (1337) neu angelegt (vorher die alten Variablen gelöscht) und auch dort kann ich keine Daten mehr beschreiben.Seit der Umschreibung auf den OriginType: user_login geht nichts mehr.Vorher lief alles einwndfrei.
Muß ich die Variablennamen auch mit ändern oder warum kann ich keine Daten mehr beschreiben?
Gruß
Olaf
Was gibt den dein setDataVar-Aufruf zurück?
xobor.plugin("info").setDataVar("ohopen",5,{{user_id}},1,function(res){ alert("res: " + res); });
#116 RE: Grundkurs Plugins schreiben - Grundlagen
Der Rückgabewert ist "res: true"
Wobei ich das Script wieder auf den OriginType: plugin umgeschrieben habe und Dein Test mit Origin ID 1337 getestet habe.
Gruß
Olaf
#117 RE: Grundkurs Plugins schreiben - Grundlagen
Hier mal die Ausgabe in der Console.
Der gesendete Code:
2
3
4
5
xobor.plugin("info").setDataVar("ohopen",1337,{{user_id}},1)
xobor.plugin("info").getDataVar("ohopen",1337,{{user_id}},function(res){
alert(res);
});
Und in den Bildern schön zu sehen,das angeblich "true" gesendet worden ist,aber eine "0" in der Variablen steht.
Das Plugin hat 9 Datenvariablen,die sich jetzt nach den Ändern des OriginType alle so verhalten.
Wie gesagt,wie ich sie "Frisch" angelegt hatte,funktionierte es einwandfrei.
Gruß
Olaf
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen und (falls vorhanden) Vorschau-Grafiken der Dateianhänge angezeigt Jetzt anmelden!
#118 RE: Grundkurs Plugins schreiben - Grundlagen
der Type "plugin" ist recht experimentell und ich vermute, dass durch das hin und herwechseln im Hintergrund sich etwas überschrieben hat hinsichtlich der Daten. In der Vergangenheit selber hatten wir noch keine Variable gelöscht und unter gleichen Namen mit einem anderen Type wieder erstellt.Also vermute ich, liegt hier das Problem
Du könntest aktuell nur eine neue Varaible mit einen anderen Namen anlegen und gleich von Anfang an den Type "user_login" verwenden.
Im nächsten Update spielen wir etwas ein, was den Wechsel etwas "sicherer" gestaltet und hoffen dass der genannte Fehler nicht mehr auftritt.
Ich Danke Dir für die Infos.
Ich habe die Datenvariablen jetzt umbenannt und die den OriginType "user_login" zugeordnet und meine ersten Tests waren positiv.
Gruß
Olaf
Wenn ich noch einen Fehler melden darf:
Es lässt sich in meinem PI "Makierung der Themen" ein angelegtes Template Element nicht mehr löschen (siehe Bild)
Gruß
Olaf
Makierung der Themen.jpg
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen und (falls vorhanden) Vorschau-Grafiken der Dateianhänge angezeigt Jetzt anmelden!
- 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