gibt es eine Möglichkeit Variablen so anzulegen, dass sie in allen Teilen einer Seite gelesen werden?
Spezifisch, ich möchte in _header.tpl eine Variable setzen, die details.tpl später auswertet. Parm Übergabe via include geht nicht, da der Body nicht includet wird.
Der View müsste doch persistent sein, oder? Variable $oView->sColour in _header.tpl setzen und in details.tpl wieder auslesen?
gibt es eine Möglichkeit Variablen so anzulegen, dass sie in allen Teilen einer Seite gelesen werden?
Spezifisch, ich möchte in _header.tpl eine Variable setzen, die details.tpl später auswertet. Parm Übergabe via include geht nicht, da der Body nicht includet wird.
Der View müsste doch persistent sein, oder? Variable $oView->sColour in _header.tpl setzen und in details.tpl wieder auslesen?[/QUOTE]
Oder Smarty bemühen…
[{assign var=“sColour” value="???"}] in _header.tpl setzen
ok, danke. Der Inhalt der Variable wird allerdings von smarty generiert…ist also keine Konstante. @tobi73de OIC
Mein Problem ist eigentlich auch nur, dass ich das Farbschema abhängig von der gerade expanded Topkategorie abhängig machen muss. Kann ich die einfach - und vor allem testbar gegen Konstanten- direkt abfragen?
Heißt das $smarty objekt im oshop anders?
$smarty->get_template_vars(‘iActRoot’);
hustet mir: Call to a member function get_template_vars() on a non-object.
das hat funktioniert , Problem war nur das dann in Contentseiten und Wrenkorb das Design wieder auf Default zurückfiel. War im Grunde ne Sackgasse für uns, aber vielleicht ist es das was Du brauchst?
Spricht denn etwas dagegen, die Variable in der details.tpl vor dem include der _header.tpl mit leerem Wert zu initialisieren und dann in der _header.tpl den korrekten Wert zuzuweisen?
[QUOTE=m.weinreich;9021]Spricht denn etwas dagegen, die Variable in der details.tpl vor dem include der _header.tpl mit leerem Wert zu initialisieren und dann in der _header.tpl den korrekten Wert zuzuweisen?[/QUOTE]
Dann verändert sich der Wert nach dem includen von _header.tpl trotzdem nicht. Vermutlich ist die Variable dann lokal.
Was ist mit dem oview? das Objekt ist doch für alle Tpls auf einer Seite das Selbe, wie setze und lese ich da eine Variable aus dem tpl, vorzugsweise ohne den View-Sourcecode zu ändern?
Ein Index, der angibt welche der fest auf 5 beschränkten Root-Kategorien gerade aktiv ist. Der wird dann modulo 3 genommen um festzulegen welches Farbschema verwendet wird.
Ist aber eigentlich egal - ich wollte bloss kurz den funktionierenden Code zusammenfassen, falls mal jemand das Problem auch hat und das Forum durchsucht.
ich habe OXID 4.5 und wenn ich eine Variable in smarty definiere ( [{assign var=foo value=“hallo”}] ) und in den [{php}] Bereich danach :
$this->getTemplateVars(‘foo’);
eingebe, um die Variable in php nutzen zu können, gibt der mir folgenden Fehler aus:
Fatal error: Call to a member function get_template_vars() on a non-object
WIESO ?