Seite 1 von 1

Links im Menü nicht korrekt angezeigt

Verfasst: 13.12.2006 17:31
von Dr.Urlaub
Ich hab mir ein neues Menü ausgesucht und wollte nun die ganzen Standartlinks einbauen ...
dabei gibt es ja auch "interaktive" links wie "private nachrichten" "login" "logout" ...

diese werden zum beispiel durch "{L_PRIVATEMSGS}" eingebunden.

da mein menü aber ein javascript ist, und ich diese daten in einer *.js datei eingeben muss, zeigt er mir dann letzendlich auch nur "{L_PRIVATEMSGS}" an und nicht "keine neue nachrichten" bzw "1 neue nachricht".

genauso beim Login und Logout

muss ich irgendeine datei includen, damit er die befehle wie {L_PRIVATEMSGS} versteht?


mfG

Verfasst: 13.12.2006 17:44
von Fabsch
Du musst nichts einbinden, denn die {L_PRIVATEMSGS} und ähnliche werden in allen Dateien festgelegt, was das ist, und du kannst es nur in der overall_header.tpl deines Themes verwenden...

Weil ich nicht weiß, was genau das für ein Javascript ist, kann ich dir nichts näheres dazu sagen.
Im Javascript selber kannst du glaub ich {L_PRIVATEMSGS} und ähnliche nicht verwenden.

Verfasst: 13.12.2006 17:47
von Dr.Urlaub
hey, danke erstmal ...

also die links werden wie folgt eingefügt:

Code: Alles auswählen

addMainItem("","Benutzer",150,"center","","",0,0,"","#C6D9EC","#C6D9EC","#2B4157","#45688B");

	defineSubmenuProperties(137,"right","right",-4,0,"","#C6D9EC","#C6D9EC","#2B4157","#45688B");

	addSubmenuItem("profile.php?mode=editprofile","{L_PROFILE}","_blank","");
bei diesem wird dann zum Beispiel {L_PROFILE} angezeigt und nicht "Profil".

Verfasst: 13.12.2006 17:50
von Skeita
Nein, in einer JS-Datei kannst du die Variablen nicht nutzen, da diese nur mithilfe des Template-Systems in den .TPL-Dateien zur verfügung stehen.

Ich bin jetzt kein Profi in Sachen Javascript, aber versuch doch 'mal, den Inhalt der JS-Datei eingeschlossen in die Folgenden Tags in den <head> Tag der overall_header.tpl einzufügen:

Code: Alles auswählen

<script type="text/javascript"> 
<!-- Hier der Inhalt der JS-Datei -->
</script>
Dort müsstest du dann auch mit den Variablen arbeiten können...

Aber wie gesagt, das ist alles nur eine Theorie meinerseits und wurde nie getestet! :D

Verfasst: 13.12.2006 17:54
von Fabsch
Dafür weiß ich leider keine Lösung.

Verwenden deine User verschiedene Sprachen?
Wenn nicht, kannst du doch einfach anstatt {L_PROFILE} und so das, das im Menü stehen soll reinschreiben.
Wenn deine User aber verschiedene Sprachen verwenden, musst du mal noch ein paar Stunden warten, vielleicht weiß jemand anderes eine Lösung.

Edit:
Skeita hat geschrieben:Nein, in einer JS-Datei kannst du die Variablen nicht nutzen, da diese nur mithilfe des Template-Systems in den .TPL-Dateien zur verfügung stehen.

Ich bin jetzt kein Profi in Sachen Javascript, aber versuch doch 'mal, den Inhalt der JS-Datei eingeschlossen in die Folgenden Tags in den <head> Tag der overall_header.tpl einzufügen:

Code: Alles auswählen

<script type="text/javascript"> 
<!-- Hier der Inhalt der JS-Datei -->
</script>
Dort müsstest du dann auch mit den Variablen arbeiten können...

Aber wie gesagt, das ist alles nur eine Theorie meinerseits und wurde nie getestet! :D
Habe ich zwar auch nicht getestet, aber das geht soweit ich weiß auch nicht.

Verfasst: 13.12.2006 22:24
von Dr.Urlaub
das mit dem javascript in die header-datei einzubinden hat leider nicht geklappt, es geht nur, wenn man die datei aufruft und darüber ablaufen lässt.

@fabsch:
also {L_profile} lässt sich einfach ersetzen, aber bei solchen sache wie den privaten nachrichten, wo die anzeige wechselt, oder login und logout, gibt es da halt leider probleme, da ich ja nur eine eingabe tätigen kann :/


wolte jetzt mal testen, ob das mit den privaten nachrichten und der PN auch so hinhaut, und den Login, Logout bereich würd ich dann woanders hinpacken.

ich danke erstma für eure unterstützung und werde mal von meiner ntgültigen lösung berichten :)

Verfasst: 14.12.2006 00:08
von gn#36
Eine weitere Möglichkeit wäre ein Kompromiss:
Schreibe ein kurzes Skript in welchem die {VAR} an Skriptvariablen zugewisen werden:

Code: Alles auswählen

var xyz = "{VAR}";
Wenn das vor dem einbinden/aufrufen des Skriptes gemacht wird sollten diesem die Variablen eigentlich zur Verfügung stehen und du kannst die Texte durch die Variablen ersetzen. Im tpl werden sie geparst und durch die gewünschten Werte ersetzt.

Im externen Skript selbst lassen sich die dynamischen Variablen nicht verwenden, da die Seiten für jeden User einzeln generiert werden, das js aber für alle gleich ist.