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.
Entwickler-Talk
Ist die globale Variable eine selbst definierte oder eine vorhandene?
Beispiel globale Variable Foren-Logo
Man spricht die entweder als TPL an:
{{global_header_logo}}
oder über JS
var heading = xobor.plugin("xobor").getGlob("global_header_logo");
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Oder handelt es sich um eine im Plugin erstellte globale Variable?
Dann spricht man sie so an:
Var xyz = xobor.plugin('PLUGIN_ID').getGlob('Variablen-Name')
Im Plugin fügt man die Variable ein, in dem man Rechts-Oben auf "Globale Variablen" geht und dann entweder TPL-Insert oder JS-insert an der variablen klickt.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Plugin_id ist nicht das gleiche wie der Plugin Name?
Wo finde ich dann die Plugin_id?
Und oben rechts sehe ich nur "Unterstützte Templates".
Außerdem wollte ich zuerst, jedesmal, wenn ein User sein Profil abspeichert, dass seine Userdaten in einer globalen Liste abgespeichert werden, und die Landkarte nur auf diese Liste zuzugreifen braucht. Dann braucht die Landkarte nicht immer alle Userprofile einzeln abklappern. Irgendwie stehe ich auf dem Schlauch.
Ich sehe gerade: Im Admin-Bereich unter "Template-Entwicklung" kann man in der "Kopie von Standard-Template" auch globale Variablen definieren.
Zitat von Ali im Beitrag #79
Plugin_id ist nicht das gleiche wie der Plugin Name?
Nein!
Den Plugin Namen kannst Du Dir selber aussuchen und ist egal wie Du den schreibst.
Der Bezeichner einer Plugin_ID muß nach den Regeln genau geschrieben werden.Das hatte ich hier schon in Beitrag #77 geschrieben.
Die ID darf keine Sonderzeichen und keine Leerzeichen haben!
Zitat von Ali im Beitrag #79
Wo finde ich dann die Plugin_id?
In meinem Bild (Adresszeile) kannst Du es sehen,wenn Du in die jeweilige "Plugin-Entwicklung" gehst.
Gruß
Olaf
ID Bezeichner.jpg
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen und (falls vorhanden) Vorschau-Grafiken der Dateianhänge angezeigt Jetzt anmelden!
Wie warten auf Datenbankeintrag mit setGlob, damit damit an anderer Stelle daraus gelesen und weitergearbeitet werden kann?
var xyz = xobor.plugin('plugin_id').getGlob('Variablen-Name');
Hier wird die Anweisung rechts vom '='-Zeichen abgearbeitet, damit sie links in die Variable geschrieben werden kann. Da kann man davon ausgehen, dass der 'getGlob'-Befehl ausgeführt wurde.
Aber beim Senden mit 'setGlob' braucht der Client nur zu versenden, und schon kann er den nächsten Befehl abarbeiten. Obwohl es noch eine Weile dauert, bis der Befehl beim Server ankommt, und dann in die Datenbank geschrieben wird.
xobor.plugin("plugin_id").setGlob("liste",neuerwert,function(){var irgendeinevariable = xobor.plugin("plugin_id").getGlob("liste"); alert(irgendeinevariable);});
Callback funktioniert da nicht. Scheinbar. Er holt sich zwar in der callback-Funktion den Wert, es wird aber nicht 'neuerwert', sondern 'alterwert' angezeigt. Erst nach dem Aktualisieren (mit F5) hat er dann 'neuerwert' im Alert-Fenster angezeigt.
Gibt es da nicht einen Befehl, der abfragt, ob der Datenbankeintrag fertiggeschrieben wurde, und dann erst wird weitergemacht?
Liebe Grüße.
Warum muss man auf die Variable auf dem Server zugreifen wenn man die Werte in einer Variablen auf dem Client hat, die man gerade auf dem Server gespeichert hat?
Sinnvoll finde ich höchstens, zu testen ob das Speichern erfolgreich war oder ein Fehler vorliegt.
2
3
4
5
6
7
8
xobor.plugin("plugin_id").setGlob("liste",neuerwert,function(res){
if(res) {
alert("Variable gespeichert" + res);
}else{
alert("Fehler bei Variable speichern" + res);
}
});
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Vielen lieben Dank Mike48.
Ich finde auch, dass es sinnvoller ist, dass man einfach nur abfragt, ob der Wert erfolgreich gespeichert worden ist, und man kann weiterarbeiten.
Aber was ich nicht verstehe, sind 2 Sachen:
1. res ist doch nur ein Parameter? Was hat dieser Parameter mit 'Es wurde erfolgreich gespeichert' zu tun? Auf dem Server. Ich sehe da die Verbindung nicht.
2. Und wenn die Speicherung erfolgreich war auf dem Server, wieso funktioniert Folgendes nicht?
xobor.plugin("plugin_id").setGlob("liste",neuerwert,function(res){
// Wenn erfolgreich abgespeichert
if(res) {
// dann kann man sie auch abrufen
var irgendeinevariable = xobor.plugin("779078p001landk").getGlob("liste");
// und anzeigen
alert(irgendeinevariable);
}else{
alert("Fehler bei Variable speichern" + res);
}
});
Warum funktioniert dann das rot geschriebene nicht?
Er zeigt den alten Wert an, obwohl dieser überschrieben sein müsste.
Weiß nicht, ob das wichtig ist:
Wenn ein User bei seinem Profil auf "Speichern" klickt, sollen seine Landkartenkoordinaten an den Server geschickt werden, weil die Landkartendaten zentral auf dem Server für alle verfügbar sein müssen. Die Landkarte soll ja von allen abgerufen werden können. Aber ich kann erst dann der Landkarten-Funktion das Signal senden: "Du, schau mal! Ich hab dir neue Daten geschickt! Füg die mal ein!", wenn auch der Wert erfolgreich gespeichert wurde. Sonst greift die "Daten-in-die-Landkarte-integrier-Funktion" auf die Datenbank zu und die ist noch leer.
Zitat von Ali im Beitrag #82
Callback funktioniert da nicht. Scheinbar. Er holt sich zwar in der callback-Funktion den Wert, es wird aber nicht 'neuerwert', sondern 'alterwert' angezeigt. Erst nach dem Aktualisieren (mit F5) hat er dann 'neuerwert' im Alert-Fenster angezeigt.
Das funktioniert auch nicht,weil Du noch in der setGlob Funktion auch gleich den noch nicht gespeicherten Wert abrufen willst.
Deshalb wird auch erst der Wert der Variablen bei Dir nach F5 angezeigt,weil sie dann erst gespeichert worden ist.
Du musst erst den Wert abspeichern,bevor Du ihn abrufen kannst:
2
3
4
5
6
<script>
var neuerwert = "TestGlob";
xobor.plugin("plugin_id").setGlob("liste",neuerwert);
alert(xobor.plugin("plugin_id").getGlob("liste"));
</script>
Das Beipiel von Mike ist eine Callbackfunktion,ob die Variable erfolgreich abgespeichert worden ist oder nicht (false/true).
Gruß
Olaf
Genau so hatte ich ganz am Anfang programmiert, Olaf.
Funktioniert denn der Code bei dir?
Bei mir zeigt er, wenn ich z.B.
xobor.plugin("plugin_id").setGlob("liste","34534534");
alert(xobor.plugin("plugin_id").getGlob("liste"));
hinschreibe, noch den alten Wert an.
Erst wenn ich auf F5 drücke, zeigt er dann den neuen Wert an.
Versuch mal folgendes:
2
3
4
xobor.plugin("plugin_id").setGlob("liste","34534534");
xobor.plugin("plugin_id").getGlob("liste",0,function(res) {
alert("Var liste = " + res);
});
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Ich glaube, mit der Callback-Funktion wird die Var vom Server neu gelesen.
Ohne wird sie aus dem Browser gelesen.
Es gibt auch einen Unterschied bei Hidden-Var.
Da muss man auch die Callback-Funktion verwenden.
Ist Globale Variable "liste" eine Hidden-Var?
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Zitat von Ali im Beitrag #86
Genau so hatte ich ganz am Anfang programmiert, Olaf.
Funktioniert denn der Code bei dir?
Bei mir zeigt er, wenn ich z.B.xobor.plugin("plugin_id").setGlob("liste","34534534");
alert(xobor.plugin("plugin_id").getGlob("liste"));
hinschreibe, noch den alten Wert an.
Erst wenn ich auf F5 drücke, zeigt er dann den neuen Wert an.
Gerade probiert und funktioniert.
Natürlich nicht als Hidden-Var und der "Typ" als Text.
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