Wann kann man auf {{...}}-Variablen zugreifen?

26.06.2016 13:53
avatar  HLueken
#1 Wann kann man auf {{...}}-Variablen zugreifen?
avatar
Mitglied

Hallo,

gibt es irgendwo eine Beschreibung, zu welchem Zeitpunkt des Seitenaufbaus ich auf welche {{...}}}-Variablen zugreifen kann.

Beispiel:

1. Zugriff auf {{eventtoday}}
Ich habe mir auf dem Portal eine andere Liste der Ereignisse gebaut. Dabei habe ich festgestellt, dass zum einen die Variable bei "Untere Leiste - Footer" zur Verfügung steht während sie im Zeitpunkt "Obere Leiste - Footer" nicht gefüllt wird. Und das auch nur, wenn ich im Portal das Original "Kommende Ereignisse" drauf lasse (das habe ich dann per CSS auf unsichtbar geschaltet)

2. Zugriff auf {{pm}}
Das wiederum wird auf dem Portal gar nicht gefüllt, aber auf der Seite, auf der die Privaten Nachrichten angezeigt werden (ich möchte auf dem Portal die ungelesenen Nachrichten anzeigen)

Ich komme nicht dahinter, was die Systematik dahinter ist. Gibt es irgendwo einen Hinweis, wann ich die Variablen verwenden kann? Oder, kann mir jemand erklären, wie das zusammenhängt?

Danke und Gruß
Heinz


 Antworten

 Beitrag melden
28.06.2016 11:13
avatar  Ingmar
#2 RE: Wann kann man auf {{...}}-Variablen zugreifen?
avatar
Technik

Zitat von HLueken im Beitrag #1
Ich komme nicht dahinter, was die Systematik dahinter ist. Gibt es irgendwo einen Hinweis, wann ich die Variablen verwenden kann? Oder, kann mir jemand erklären, wie das zusammenhängt?


Naja, es gibt Variablen, die immer zur Verfügung stehen. Die meisten davon sind hier gelistet:
Wiki:liste-der-forenvariablen#d

Dann gibt es Variablen, die immer dann ausgegeben werden, wenn Sie auch vom Template benötigt werden. Die Liste mit den heutigen Ereignissen steht in der Regel in der Fußzeile der Startseite zur Verfügung - daher wird das auch in der unteren Leiste ausgegeben - in der oberen Leiste kannst du dann natürlich nicht darauf zugreifen.

Im Portal ist das noch einmal ein Sonderfall - hier werden automatisch alle für die angezeigten Boxen benötigten Variablen bereitgestellt.

Eine vollständige Liste aller Variabeln auf jeder Seite gibt es nicht - das wäre auch viel zu aufwändig, das aktuell zu halten. Im Zweifel hilft ein Blick ins Template - alles war dort verwendet wird ist dann auch verfügbar...

Zu den PNs wird glaube ich keine Anzahl ausgegeben - da gibt es nur eine Variable, die darüber informiert, dass es neue Pns gibt.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
28.06.2016 13:20
avatar  HLueken
#3 RE: Wann kann man auf {{...}}-Variablen zugreifen?
avatar
Mitglied

Vielen Dank für die Antwort, macht es schon klarer für mich.

Gibt es eine Möglichkeit zu beeinflussen, was die Boxen im Portal brauchen (oder ist das irgendwo fest bei Euch für die von Euch bereitsgestellten Boxen programmiert?)? Konkret würde ich z.B. gerne {{pn}} (und darunter liegende Elemente) verfügbar machen, und da gibt es ja wohl keine Box, die das braucht...


 Antworten

 Beitrag melden
28.06.2016 15:39
avatar  Ingmar
#4 RE: Wann kann man auf {{...}}-Variablen zugreifen?
avatar
Technik

Zitat von HLueken im Beitrag #3
(oder ist das irgendwo fest bei Euch für die von Euch bereitsgestellten Boxen programmiert?


Genau, da gibt es ein internes mapping, welches die für eine Box benötigten Daten bereitstellt.


Zitat
Konkret würde ich z.B. gerne {{pn}} (und darunter liegende Elemente) verfügbar machen, und da gibt es ja wohl keine Box, die das braucht...


Da fällt mir keine ganz einfach Lösung ein. Theoretisch kannst du immer mit Jquery.load() arbeiten um an nicht verfügbare Daten zu kommen

so in etwa könnte das im Business Template aussehen:

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
 

//liste der PNs per Query load abrufen:
$pmlist = $("<div id='pmtemp'>").load('/private.php #pmlistwrap');
 
//liste ausblenden und an den body hängen
$pmlist.hide().appendTo('body');
 
//da das einfügen ins DOM ein bischen dauert heir eine Verzögerung von 100m,s einbauen, dann auf neue Pns prüfen
setTimeout("checkNewPNs()",100);
 

function checkNewPNs(){
newpns = $('#pmtemp').find('.new').length;

if(newpns){
/*Hier dein Code*/
/*newpns ist jetzt belegt mit der Anzqhl neue PNs*/
alert("Es gibt " + newpns + " neue PNs");
}

//cleanup:
$('#pmtemp').remove();


}
 

 

 

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

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