Entwickler-Talk

  • Seite 3 von 8
25.03.2015 10:22 (zuletzt bearbeitet: 25.03.2015 10:26)
avatar  TripleM
#31 RE: Entwickler-Talk
avatar
Mitglied

Hallo zusammen ich habe da eine Frage. Wie erkläre ich es am besten?

Ich habe ein PI wo ich 5 Bilder eingebunden habe die per Button ausgewählt werden können. Habe ich eins ausgewählt wird es im Local Storage gespeichert und ist bein neu laden der Seite noch genauso sichtbar wie ich es über die Button ausgesucht habe. Nun ist es so das beim Neuladen der Seite immer die Bilder, (Also alle 5) im HG mit geladen werden.


Ist es nun möglich das eben nicht alle Bilder beim Neuladen der Seite mit geladen werden ? Solange also der LS die Einstellung/Speicherung hat nicht laden und erst wenn die LS Speicherung nicht mehr vorhanden ist sollen wieder alle Bilder neu geladen werden.

Durch das mitladen der Bilder beim Neustart der Seite ist die Ladezeit unnötig länger weil eben immer alle 5 Bilder mit geladen werden.

Aktuell bekomme ich das nicht hin mit den Möglichkeiten die das PI System bietet. Frage ist kann man das mit Globalen Variablen machen? Gibt es dazu eine Anleitung wie man Globale Vars erstellt?


Desweiteren habe ich eine Hoover Funktion, die Button sind kleine Vorschaubilder. Gehe ich mit der Maus über einen Button wird das Bild gehoovert. Problem dabei ist das es immer nur einen ausschnitt zeigt und zwar von Oben links aus der Ecke mit den eingestellten px die ich vorgebe.
Gibt es eine Möglichkeit per css zu sagen das Vorschaubild soll immer in Voller Anzeige sichtbar sein beim Hoovern? Also nicht nur ein Ausschnitt sonder 100% Breit und 100% hoch in den dafür eingestellten Fenster(also z.b.200x100px)


 Antworten

 Beitrag melden
06.08.2015 18:33
#32 RE: Entwickler-Talk
Ju
Mitglied

Hey Leute ich hab ein kleines problem kann mir jemand vielleicht helfen brauch mal jemand der sich gut auskennt mit plugins (entwicklung) !


 Antworten

 Beitrag melden
06.08.2015 22:15
avatar  River
#33 RE: Entwickler-Talk
avatar
Mitglied

Zitat von Juwel Bulls im Beitrag #32
brauch mal jemand der sich gut auskennt mit plugins (entwicklung) !


Wenn es um das Erlernen der Pluginerstellung geht, findest du im FoX genügend Lernmaterial und auch Unterstützung, wenn du Probleme hast.

Liebe Grüße
River

-------------------------------------------------------------

+++Ich will Computercrack werden! XD+++

Business Template (v4)

 Antworten

 Beitrag melden
07.08.2015 23:48
avatar  Olaf
#34 RE: Entwickler-Talk
Ol
Mitglied

Zitat von Juwel Bulls im Beitrag #32
Hey Leute ich hab ein kleines problem kann mir jemand vielleicht helfen brauch mal jemand der sich gut auskennt mit plugins (entwicklung) !


Vielleicht erzählst Du uns erstmal was über Dein Problem und dann können wir Dir vielleicht helfen.

Gruß
Olaf

__________________________

http://138600.homepagemodules.de/

 Antworten

 Beitrag melden
04.09.2015 11:16
#35 RE: Entwickler-Talk
avatar
Mitglied

Moin moin,
ich habe ein Problem mit Vergleichsoperatoren.

Ich bastle an einem Plugin welches mir entweder links oder rechts oder auf beiden Seiten etwas einblendet.
Dazu habe ich eine Config-Variable vom Typ Select mit den Werten left, right und both erstellt.

Ob etwas eingeblendet wird, wird per Style-Anweisungen geregelt.
So sieht es aus wenn ich das linke Element einblenden will:

1
2
3
4
5
6
7
8
9
 
<style>

{{plugin_extrapics_config_lrselect==left.start}}
#elementlinks {
...
}
{{plugin_extrapics_config_lrselect==left.end}}
 
</style>
 


Äquivalent gäbe es dann auch den Scriptteil für das rechte Element.
Das funktioniert auch.

Nun habe ich aber nicht nur links oder rechts
sondern auch beide gleichzeitig zur Auswahl.
Da wäre es blöd nun noch einen dritten Scriptteil zu erstellen
der die linke und rechte Anweisung nochmal gemeinsam enthält.

Also wollte ich es nicht mit == (ist gleich) machen
sondern mit !== (ist nicht).

Ich würde also um die Anweisungen des linken Elementes abfragen ob nicht rechts gewählt wurde.
Dann bliebe ja nur die Wahl zwischen links oder beide.
In beiden Fällen soll das Linke Element dann eingeblendet werden.
Für das rechte Element müsste ich dann nach nicht links fragen.

Nur leider bekomme ich das nicht hin.
Entweder stimmt die Api Doku nicht https://www.xobor.de/plugin-doc-api.html#...late_Funktionen
oder diese Vergleichsoperatoren funktionieren im PL-System so noch nicht.

Hier mal meine ausprobierten Varianten die nicht funktionieren:

1
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
 
<style>

!{{plugin_extrapics_config_lrselect==right.start}}
#elementlinks {
...
}
{{plugin_extrapics_config_lrselect==right.end}}
--------------------------------------------------------------------------------------
!{{plugin_extrapics_config_lrselect==right.start}}
#elementlinks {
...
}
!{{plugin_extrapics_config_lrselect==right.end}}
--------------------------------------------------------------------------------------
{{plugin_extrapics_config_lrselect!==right.start}}
#elementlinks {
...
}
{{plugin_extrapics_config_lrselect!==right.end}}
--------------------------------------------------------------------------------------
{{plugin_extrapics_config_lrselect!=right.start}}
#elementlinks {
...
}
{{plugin_extrapics_config_lrselect!=right.end}}
--------------------------------------------------------------------------------------
!{{plugin_extrapics_config_lrselect!==right.start}}
#elementlinks {
...
}
{{plugin_extrapics_config_lrselect!==right.end}}
--------------------------------------------------------------------------------------
!{{plugin_extrapics_config_lrselect!==right.start}}
#elementlinks {
...
}
!{{plugin_extrapics_config_lrselect!==right.end}}
--------------------------------------------------------------------------------------
</style>
 



Es werden je nach Variante immer beide Styles oder keines ausgeführt.
Egal welchen Select-Wert ich in der Einstellungsmaske wähle.

Kann mir jemand die korrekte Schreibweise für das NOT nennen?
Oder ist es gar ein Bug daß es nicht funktioniert?


Mitt der umgekehrten (am häufigsten verwendeten) Variante ist gleich (==)
klappt es ja wunderbar.
Dann bräuchte ich aber 3 Codeabschnitte statt nur 2.

Gruß
Frank


Boardnr. 621181

www.aquariumzimmer.de
Boardnr. 572886
Business Template

 Antworten

 Beitrag melden
04.09.2015 12:47
avatar  Ingmar
#36 RE: Entwickler-Talk
avatar
Technik

Spontan würde ich sagen der rechte Teil der Gleichung musss auch eine Foren-Variable sein:

Wenn du vor deinem Code die Variable

1
 
{{right.start}}right{{right.end}}
 


definierst sollte das klappen.


Alternativ müssste das mit Anführungszeichen gehen (das hab ich jetzt aber nicht getestet):

1
 
{{plugin_extrapics_config_lrselect=="right".start}
 

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
04.09.2015 13:26
#37 RE: Entwickler-Talk
avatar
Mitglied

Danke für den Versuch Ingmar

Eine freie Variable initialisieren, brauche ich nicht.
Ich verwende eine Config-Variable vom Typ Select.
Diese enthält 3 Optionen:

Optname: Links
Optval: left

Optname: Rechts
Optval: right

Optname: Beide
Optval: both

Wenn ich nun abfragen will ob der gewählte Wert (Optval) left lautet,
dann geht das mit doppeltem Gleichheitszeichen und left ohne Anführungzweichen.

1
2
3
 
{{plugin_extrapics_config_lrselect==left.start}}
... Code ...
{{plugin_extrapics_config_lrselect==left.end}}
 


Das klappt auch ohne Probleme.

Es geht also nicht um den zu prüfenden Wert ansich.
Es geht um den Vergleichsoperator "ist nicht gleich (!==)".
Denn ich will eine negierte Abfrage machen.

Und genau das klappt nicht.
Egal welche meiner geposteten Varianten ich verwende.
In der API Dok https://www.xobor.de/plugin-doc-api.html#...late_Funktionen
steht

Zitat
Conditional Statements: Ist / Ist nicht / enthält / beginnt / endet

{{testvar==true.start}} ... {{testvar==true.end}} → {{testvar}} ist == true, oder auch == false
{{testvar==true.start}} ...{{testvar==true.else}} ... {{testvar==true.end}} → {{testvar}} ist == true ... else ...
! {{testvar==a.start}} ... {{testvar==a.end}} → {{testvar}} ist ==a
! {{testvar==a|b.start}} ... {{testvar==a|b.end}} → {{testvar}} ist ==a oder ==b (beliebig oft | verwendbar)
! {{testvar~=a|b.start}} ... {{testvar~=a|b.end}} → {{testvar}} enthält a (oder optional b)
! {{testvar^=a|b.start}} ... {{testvar^=a|b.end}} → {{testvar}} beginnt mit a (oder b)
! {{testvar$=a|b.start}} ... {{testvar$=a|b.end}} → {{testvar}} endet mit a (oder b)
! {{testvar!==a|b.start}} ... {{testvar!==a|b.end}} → {{testvar}} ist NICHT ==a oder ==b (beliebig oft | verwendbar)
! {{testvar!~=a|b.start}} ... {{testvar!~=a|b.end}} → {{testvar}} enthält NICHT a (oder optional b)
! {{testvar!^=a|b.start}} ... {{testvar!^=a|b.end}} → {{testvar}} beginnt NICHT mit a (oder b)
! {{testvar!$=a|b.start}} ... {{testvar!$=a|b.end}} → {{testvar}} endet NICHT mit a (oder b)


Das war mein Ausgangspunkt für viele verschiedene Tests.

Die erste hervorgehobene Variante solte es sein.
Obwohl die Erklärung am Ende der Zeile nicht korrekt ist.
Man negiert mit dem Ausrufungszeichen und dann steht da {{testvar}} ist gleich a

Klappt nicht:

1
2
3
 
!{{plugin_extrapics_config_lrselect==right.start}}
... Code ...
!{{plugin_extrapics_config_lrselect==right.end}}
 



Da aber öftermal kleine Schreibfehler in der Doku vorkommen,
ich aber keine Korrektur liefern kann, habe ich auch noch keine Schreibfehler gemeldet.
Ich weiß ja nicht ob es wirklich falsch geschrieben wurde oder im Plugin-System nur "noch" nicht funktioniert.

Bei der zweiten hervorgehobenen Variante geht es auch um "ist nicht gleich".
Nur mit entweder oder.
Es beginnt mit dem Ausrufungszeichen vor der Variablen und enthält vor den doppelten Gleichheitszeichen auch noch eines.
Darum habe ich auch dieses getestet.
Klappt auch nicht:

1
2
3
 
!{{plugin_extrapics_config_lrselect!==right.start}}
... Code ...
!{{plugin_extrapics_config_lrselect!==right.end}}
 


Wobei ich nicht weiß ob in der "end- Zeile" auch noch mit dem Anführungszeichen begonnen werden muss.
Die Api und mein Verständnis sagen mir "nein".
Hab aber trotzdem alle erdenklichen Kombinationen getestet.

Darum hänge ich so in der Luft.
Ich weiß einfach nicht ob ich nur noch nicht die korrekte Schreibweise verwendet habe
oder ob eine negierte Abfrage mit TPL-Variablen noch nicht funktioniert.

Gruß
Frank


Boardnr. 621181

www.aquariumzimmer.de
Boardnr. 572886
Business Template

 Antworten

 Beitrag melden
04.09.2015 14:08 (zuletzt bearbeitet: 04.09.2015 14:08)
avatar  Ingmar
#38 RE: Entwickler-Talk
avatar
Technik

Hm, hab das mal kurz getestet. Eigentlich sollte das mit == und !== beides klappen

Mein Testcode:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 

 
{{testvar.start}}right{{testvar.end}}
{{testvar2.start}}left{{testvar2.end}}
 

{{testvar==right.start}}
Testvar ist right
{{testvar==right.end}}
 
{{testvar!==right.start}}
Testvar ist nicht right
{{testvar!==right.end}}
 

<br/>
 

{{testvar2==right.start}}
Testvar2 ist right
{{testvar2==right.end}}
 
{{testvar2!==right.start}}
Testvar2 ist nicht right
{{testvar2!==right.end}}
 



hat folgende Ausgabe;
page-testcodes.html

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
04.09.2015 14:55
#39 RE: Entwickler-Talk
avatar
Mitglied

Vielen Dank für deine Mühe.
Nun funktioniert es.
Mich hatte bei deiner vorherigen Antwort nur verwirrt daß du auf "ist gleich" geprüft hast
und das mit den Anführungszeichen erwähnt hast.
Darum dachte ich daß du mich nicht verstanden hast.

Ich verstehe aber nicht warum ich die Werte vorher noch extra initilisieren muss wenn ich negiert abfrage.
Denn bei einer "ist gleich"-Abfrage ist das nicht notwendig.
Ich will ja keine Variable im Code anlegen.
Die ist ja schon als Configvar erstellt.


Darum verstehe ich auch nicht ganz deine Lösung wenn ich sie nun mit meiner vergleiche.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<style>
{{left.start}}left{{left.end}}
{{right.start}}right{{right.end}}

{{plugin_extrapics_config_lrselect!==right.start}}
#elementlinks {
border: 1px solid #000000;
position: absolute;
background-color: #aa00ff;
}
{{plugin_extrapics_config_lrselect!==right.end}}

{{plugin_extrapics_config_lrselect!==left.start}}
#elementrechts {
border: 1px solid #000000;
position: absolute;
background-color: #aa00ff;
}
{{plugin_extrapics_config_lrselect!==left.end}}
 
</style>
 


Ich lege eine TPL-Variable mit dem Namen "left" und dem Wert "left" an.
Das gleiche für "right".
Danach prüfe ich ob meine Select-Variable "nicht left" bzw. "nicht right" ist.
Mit den beiden frei angelegten TPL-Variablen im Code oben kann der gefundene Wert aber nichts zu tun haben.
Es sind ja beide mit beiden Werten nun vorhanden.
In der Einstellungsmaske habe ich aber abwechselnd in der Select den Wert left, right oder both gespeichert.
Je nachdem was ich dort eingestellt habe, erscheinen dann die linke, die rechte oder beide Boxen.

Wenn die beiden zusätzlichen Zeilen wichtig wären,
müssten entweder immer beide Boxen oder gar keine gezeigt werden.
Egal was ich in der Maske einstelle.

...

Nachdem es nun funktioniert,
teste ich es nochmal ohne Zeile 2 und 3.
Es lässt mir einfach keine Ruhe.

...

Das ist doch zum Mäusemelken.
Es klappt nun auch ohne diese Zeilen.
In diesem Zusammenhang finde ich sie auch absolut unlogisch.
Denn im Prinzip kenne ich diese Art Variablen anzulegen und mit Werten zu füllen.
Das haben wir schon für ein Plugin im Store angewendet.
Es sind freie TPL-Variablen die man nicht über das Pluginsystem anlegt.

...

Nochmal die Historie wälzen

...

Ich bin echt ein Blödmann.
Die einzige Variante die ich ohne Handbuch kannte,
habe ich nicht wirklich getestet.
Ich dachte nur ich hätte.
Ich hatte aber ein Gleichheitszeichen vergessen.
Statt !== hatte ich != am Anfang geschreiben und nicht bemerkt.
Danach habe ich alles Mögliche versucht.
Nur nicht das was eigentlich im ersten Versuch schon klappen sollte.

Sorry für den ganzen Alarm und vielen Dank für deine Geduld.


Hier nun mein Code um den es ging und der auch funzt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<style>
 
{{plugin_extrapics_config_lrselect!==right.start}}
#elementlinks {
border: 1px solid #000000;
position: absolute;
background-color: #aa00ff;
}
{{plugin_extrapics_config_lrselect!==right.end}}

{{plugin_extrapics_config_lrselect!==left.start}}
#elementrechts {
border: 1px solid #000000;
position: absolute;
background-color: #aa00ff;
}
{{plugin_extrapics_config_lrselect!==left.end}}
 
</style>
 


Damit kann ich 3 Zustände über nur 2 Abfragen erreichen.

Ganz umsonst war das nun alles aber nicht.
Diese Erfahrung macht mich in Zukunft noch aufmerksamer beim Schreiben.
Und Mitlesewnde können daraus lernen oder wenigstens darüber schmunzeln.

Gruß
Frank


Boardnr. 621181

www.aquariumzimmer.de
Boardnr. 572886
Business Template

 Antworten

 Beitrag melden
13.01.2016 11:03
avatar  Mike48
#40 RE: Entwickler-Talk | thread_id einmalig
avatar
Mitglied

Ist die thread_id im gesamten Forum einmalig oder ist sie nur innerhalb einer forum_id einmalig?


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
13.01.2016 13:21
avatar  Ingmar
#41 RE: Entwickler-Talk | thread_id einmalig
avatar
Technik

Die ist im gesamten Forum einmalig.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
31.01.2016 11:27 (zuletzt bearbeitet: 31.01.2016 11:42)
avatar  TripleM
#42 RE: Entwickler-Talk | Kopie bei Plugin werden nicht alle Var angepasst.
avatar
Mitglied

Habe bei mir ein Plugin per Kopie verschickt. Normal werden dabei ja alle Variablen mit dem neuen Namen der Kopie Überschrieben.

Nun habe ich aber einige Var die zwar Standard mit dem Einfügen über das Menu auf der Rechten Seite eingefügt werden, aber dann noch abgeändert werden mit Start und end.

Wenn ich eine Variable habe die vorm versenden der Kopie sagen wir mal so lautet

1
 
{{plugin_threelayout_config_bgcolor}}
 



Und nach dem versenden die Kopie einen anderen Namen bekommt wie z.b. XYZ werden normal alle Variablen an den neuen namen der Kopie angepasst.

1
 
{{plugin_XYZ_config_bgcolor}}
 



Nun ist es aber so das einige nicht mit angepasst werden wie z.b. diese hier

1
 
{{plugin_threelayout_config_leftside>=1.start}}
 



Die bleibt auch nach dem Vergeben eines Namens bei der Kopie so.
Die muß ich dann immer manuell nach bessern. Ist das Normal oder mache ich was falsch?

Hoffe ich konnte mich verständlich ausdrücken.


 Antworten

 Beitrag melden
31.01.2016 12:26
avatar  .BiL.
#43 RE: Entwickler-Talk
avatar
Mitglied

Das kann ich bestätigen.

Und zwar betraf es folgende Variablen:

{{plugin_allgemeintest_config_leftside>=1.start}}{{plugin_allgemeintest_config_leftside>=1.end}}
{{plugin_allgemeintest_config_reightside>=1.start}}{{plugin_allgemeintest_config_reightside>=1.end}}

Damit alles funktioniert, musste geändert werden auf:

{{plugin_mario01_config_leftside>=1.start}}{{plugin_mario01_config_leftside>=1.end}}
{{plugin_mario01_config_reightside>=1.start}}{{plugin_mario01_config_reightside>=1.end}}

Liegt es vielleicht an der Syntax '>=1' ?

.
Viele Grüße .BiL.
Friends of Xobor

Fragen zu Plugins und Pluginideen bitte nicht per PN, sondern öffentlich oder im FoXum stellen.

 Antworten

 Beitrag melden
31.01.2016 12:36 (zuletzt bearbeitet: 31.01.2016 12:38)
avatar  Mike48
#44 RE: Entwickler-Talk
avatar
Mitglied

In den "Conditional Statements" ist >= nicht vorgesehen.
Oder vergessen worden rein zu schreiben.

Es kann sein dass das fehlerhafter Code ist und nicht bearbeitet wird.

Solche Abfragen mache ich mit JS statt mit Template Code.


www.friends-of-xobor.de (621181 - V4 Template)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)

 Antworten

 Beitrag melden
31.01.2016 14:04
avatar  TripleM
#45 RE: Entwickler-Talk
avatar
Mitglied

Mal die Offizielle Antwort abwarten ob das generell nicht gemacht werden sollte oder nur nicht berücksichtigt wurde.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!