bin dabei ein kleines Modul zu schreiben, aus Gründen der Übersicht soll nach Eingabe in einer Form-Eingabemaske, die Ausgabe in einer neuen tpl erfolgen. Dazu habe ich in der php folgenden Code der aber nicht funktioniert!
class irgendwas extends oxAdminView {
protected $_sThisTemplate = 'template.tpl';
protected $_sThisTemplate2 = 'template2.tpl';
public function render() {
parent::render();
if (isset($_POST['p_ean'])){
$this->_aViewData['artSearchOutput'] = $this;
return $this->_template2;
}
else{
$this->_aViewData['template'] = $this;
return $this->_sThisTemplate;
}
…bla Funktionen und diverse Ausgaben
}
Irgendwer eine Idee warum mein Ansatz falsch ist und wie ich es ggf. lösen könnte.
Erstmal danke für die Antworten, ich hab den Code auf die schnelle hier rein geschrieben, im Quelltext stimmt es aber, ergo return $this->_sThisTemplate2;
Und was nicht funktioniert ist die Anzeige im Template2.
ich weiß, wie schon erwähnt hatte es auf die schnelle nur reingeschrieben, hab jetzt mal den Quelltext kopiert:
protected $_sThisTemplate = 'artSearch.tpl';
protected $_sThisTemplate2 = 'artSearchOutput.tpl';
public function render() {
parent::render();
if (isset($_POST['p_ean'])){
$this->_aViewData['artSearchOutput'] = $this;
return $this->_sThisTemplate2;
}
else{
$this->_aViewData['artSearch'] = $this;
return $this->_sThisTemplate;
}
}
Noch ein Nachtrag, grundsätzlich funktioniert die Ausgabe mit nur einem Template und ohne if Abfrage, ich hätte es aber gerne wegen der Übersicht auf ein anderes Template.
Des Weiteren eine $_POST Abfrage funktioniert auch wenn man (warum auch immer) es nicht macht, wie zur Hölle mach ich aus “oxRegistry::getConfig->getRequestParameter(‘p_ean’);” eine if Abfrage. Einfaches PHP verstehe ich noch aber das na gut schaff ich irgendwann auch noch, ich hab andere Sprachen gelernt.
Vielleicht gibt es ja eine alternative Lösung und zwar die Ausgabe wie gehabt in einem Template und dafür das Formular ausblenden, wäre das möglich und wenn ja wie? Momentan kommt die Ausgabe und das Formular darunter, ist eher eine unschöne Lösung.