Eigene Funktion im Template ausführen

Bin ja kein Coder - aber ggf. hilft Dir das hier weiter? Such Dir die entsprechende Version aus:

Hallo Jörg,

ich vermisse die Zeile, in der Du Dir das Input-Field “laenge” ziehst.

In etwa so:


laenge = document.getElementById("laenge");

myAjax.open("GET", "seite2.php?laenge="+laenge.value, true);
   
myAjax.send();

Gruß

[QUOTE=Cabalon;62229]


laenge = document.getElementById("laenge");

oder so:


laenge = document.getElementById('laenge').value;

[/QUOTE]

Das wäre das Erste, dann stellt sich die Frage, wo sich die seite2.php befindet. Sprich die mal so an:

http.open('get', '[{ $oViewConf->getSelfLink() }]cl=seite2&laenge='+laenge+'...

Die seite2.php dann in den Ordner views und eingepackt in etwa so:

class seite2 extends irgendwas
	{ 
		public function render()
		{ 
...
}
}

Hallo zusammen,

seid erst mal wieder für eure rasche Hilfe bedankt.

@Ray: da habe ich auch schon versucht, mich etwas durch zu wühlen. Ist derzeit noch sehr verwirrend für mich, aber ich werde schauen…

@mitch & rubbercut: habe die laenge mal wie vorgeschlagen definiert - der get-parameter wird scxhon mal übergeben. Erstaunlich ist für mich nur, dass das Ganze im Test ohne die jetzt eingefügte Definition funktioniert hat und nach Einbau ins Template nicht mehr…

Die “seite2.php” ist noch ein Relikt von dem Test, den ich so zu sagen “trocken” durchgeführt habe. Ich müsste jetzt die Variable eher an meine Datei “zuschnitte.php” übergeben, die im Ordner modules/eigeneModule/ liegt und wie folgt aussieht:


<?php
class zuschnitte extends zuschnitte_parent {
 public function setPrice($newPrice, $dVat = null) {
      $test = $_GET["laenge"]; 
        if ($test > 0) {
          $this->_dBrutto = $newPrice*$test;
        }
        else {
          $this->_dBrutto = $newPrice;
        } 
            
    $this->_recalculate(); 
    }                       
}
?>

Ich glaube, eines meiner Hauptprobleme liegt auch noch im Veständnis der Pfadstrukturen in Oxid. Ich beschäftige mich normalerweise hauptsächlich mit Typo3 und denke in “normalen” Pfaden.
Sehe ich es richtig, dass, wenn ich bei Oxid ein tpl inkludiere, sich der Pfad zu diesem tpl dann auf den Ordner beziehen muss, in dem das “haupt”-tpl liegt?
Oder ist das Ziel der Ordner in dem sich das zu inkludierende tpl tatsächlich “physisch” befindet?

Gruß, Jörg

Hallo Jörg,

Statt $_GET solltest Du lieber oxConfig::getParameter(‘laenge’); verwenden.


<?php
class zuschnitte extends zuschnitte_parent {
 public function setPrice($newPrice, $dVat = null) {
      $test = oxConfig::getParameter('laenge');
        if ($test > 0) {
          $this->_dBrutto = $newPrice*$test;
        }
        else {
          $this->_dBrutto = $newPrice;
        } 
            
    $this->_recalculate(); 
    }                       
}
?>

Deine Frage zum Verzeichnispfad verstehe ich nicht.
Natürlich muss der Pfad zur Template-Datei führen. Kannst Du uns sagen, wo sich Deine Datei relativ zum Oxid-Hauptverzeichnis befindet und wie Du es bisher includiert hast?

Gruß

Hi Mitch,

ich habe befürchtet, dass ich mich unklar ausdrücke… sorry.

Wenn ich die Variable “laenge” aus der Datei “zuschnitte_02.tpl” ( Pfad:oxid/out/hartmann_basic/tpl/eigne_tpl/ ) weiterverarbeiten möchte in “zuschnitte.php” ( Pfad:oxid/modules/eigeneModule ) muss ich ja angeben, wo sie hingesendet werden soll.
als Bsp. so etwas wie:


myAjax.open("GET", "seite2.php?laenge="+laenge.value, true);

oder wie:


myAjax.open("GET", "../../zuschnitte.php?laenge="+laenge.value, true);

Wenn ich das mache, wird nichts gefunden. Folglich muss es irgendwie anders gehen.

Mit der eventuellen Pfad-Änderung beim Inkludieren meine ich Folgendes:
Bsp.:
“module/eigeneModule/daten/test.tpl” wird über


[{include file="daten/test.tpl" }]

in “module/eigeneModule/versuch.tpl” eingebunden
und ich möchte “test.tpl” ansprechen - ist dann “test.tpl” nach dem inkludieren als fester Bestandteil von “versuch.tpl” zu sehen oder bleibt der Pfad immer “module/eigeneModule/daten/test.tpl”.
Ich hoffe, das ist verständlicher, wobei ich grade bezweifle, dass mein Gedankengang nicht komplett daneben ist…:wink:

Gruß, Jörg

Hatte ich oben schon geschrieben:

cl=