Hallo zusammen,
mittels [{php}] wird in der base.tpl über dem <head> eine PHP-Variable ($requestUrl) erzeugt.
Diese PHP Variable möchte ich in der Listenansicht im Shop wieder abrufen. Dies geht aber nicht. Wenn ich mittels [{php}] in der list.tpl die Variable abrufe, dann ist die Variable $requestUrl schlichtweg leer. Auch wenn ich in der base.tpl den Wert der $requestUrl fest definiere.
Warum ist das denn so? Und vor allem, wie kann ich das umgehen? Die Variable muss über dem <head> erzeugt werden
Viele Grüße,
kanuddel
Versucht, die Variable direkt über Smarty zu bekommen und an Smarty zu Übergeben?
Probiers doch mal so wie in diesem Thread:
http://forum.oxid-esales.com/showthread.php?t=18049
[QUOTE=kanuddel;142472]Die Variable muss über dem <head> erzeugt werden
[/QUOTE]“Über” gibt’s nur bei der Ausgabe, sonst gibt es nur vorher und nachher. Die list.tpl wird vor der base.tpl geparst, und die Ausgabe erfolgt erst wenn alles geparst wurde. Schreib deinen Code einfach in die list.tpl wenn du ihn da brauchst.
Aber es ist doch so, dass die base.tpl das html konstrukt erzeugt, und wenn ich php code VOR dem <head> brauche, dann muss er doch in der base.tpl vor dem <head> eingefügt werden. Oder kann ich in der list.tpl noch irgendwie php code vor den <head> einer Seite bringen? ich wüsste nicht, wie.
Die list.tpl verändert doch nur einen bestimmten Bestandteil innerhalb des <body>. Oder verstehe ich da etwas falsch?
Wenn ich die php Variable an Smarty übergebe, mache ich das dann in etwa so:
Wie ich variablen genau von php an Smarty übergebe und später von Smarty wieder an php übergebe, habe ich leider nicht verstanden.
[{assign var="variable123" value=$oView->getAdditionalParams()}]
oder rufe ich hier die php variable “variable123” ab und speicher sie als “variable123” in smarty?
Variablen sind nur in includes verfügbar.
Schau dir mal den Ablauf in den Templates an, die Ausgaben werden in captures gespeichert und in base.tpl ausgegeben, der Ablauf ist list.tpl -> page.tpl -> base.tpl und nicht umgekehrt.
Wenn die Ausgabe vor <head> erscheinen soll, wozu brauchst du dann den Wert in list.tpl?
[QUOTE=leofonic;142489]Variablen sind nur in includes verfügbar.
Schau dir mal den Ablauf in den Templates an, die Ausgaben werden in captures gespeichert und in base.tpl ausgegeben, der Ablauf ist list.tpl -> page.tpl -> base.tpl und nicht umgekehrt.
Wenn die Ausgabe vor <head> erscheinen soll, wozu brauchst du dann den Wert in list.tpl?[/QUOTE]
nicht die ausgabe. die generierung der variable passiert vor dem <head> und in der list.tpl brauche ich sie nochmal.
Eventuell kann ich sie da nochmal generieren.
Wie gesagt das parsen ist immer vor der Ausgabe:
- list.tpl wird geparst
- page.tpl wird geparst
- base.tpl wird geparst
- <head> wird ausgegeben
also ist alles “vor dem <head>”.
okay danke. hab es hinbekommen