Hallo alle. Ich stehe grad mal wieder ziemlich auf dem Schlauch. Ich mache folgendes: In einer *.tpl-Datei hab ich eine JavaScript-Funktion, die eine Action aufruft (per redirect): function myFunc() { window.location.href = "{url action='myFunc'}"; }
die php-Datei enthält die entsprechende Action: public function myFuncAction() { // mach irgendwas return $this-\>forward( 'index' ); }
ich kann auch der url einen Parameter mitgeben: function myFunc() { window.location.href = "{url action='myFunc' par1='Hallo alle'}"; }
der dann in der Action ausgelesen wird: public function myFuncAction() { $par1 = $this-\>Request()-\>par1; // $par1 enthält jetzt die Zeichenkette "Hallo alle" // mach irgendwas return $this-\>forward( 'index' ); }
klappt alles ganz hervoragend. Jetzt möchte ich aber der URL einen Parameter mitgeben, den ich erst zur Laufzeit kenne (Inhalt eines Eingabefeldes). WIE ist nun die Syntax?? function myFunc() { var1 = 'Hallo alle'; window.location.href = "{url action='myFunc' par1='{var1}'}"; }
klappt alles nicht… Bin da für JEDEN Hinweis äußerst dankbar!
So könnte es gehen. function myFunc() { var1 = 'Hallo alle'; window.location.href = "{url action='myFunc' par1='" + var1 + "'}"; }
auch DAS habe ich versucht - schmeißt Smarty-Fehler… ich habe einen “workaround” (schmutzig, aber es funktioniert :D): var1 = 'something strange'; myURL = "{url action='myFunc' par1='XXXXXX'}"; newURL = myURL.replace(/XXXXXX/g, var1); window.location.href = newURL;