Hallo zusammen
Erst kürzlich bin ich auf OXID gestossen und möchte für einen Kunden ein Modul für OXiD 4.7.8 entwickeln. Das Modul soll dem Kunden eine Entscheidungshilfe bieten, um so die Einzelteile für ein Gesamtprodukt zusammenstellen zu können. Dazu sollen mithilfe des Moduls schrittweise gefiltert werden, um so die Produkte auswählen zu können.
Das erstellte Modul konnte ich bereits im System anmelden und ebenfalls anzeigen lassen (über index.php?cl=noyzfilter).
Wird auf der Seite eine Auswahl getroffen, sollen mittels jQuery und AJAX die Daten an die erstelle Klasse übermittelt werden und anhand dieser Daten den nächsten Schritt generiert werden.
Nun die eigentliche Frage: wie kann ich die Daten an die Klasse/Objekt übermitteln. Bisherige Versuche enden immer mit eine Fehlermeldung:
Fatal error: Class ‘oxUBase’ not found in …noyzfilter.php
noyzfilter.php ist die Klasse des Moduls:
class noyzfilter extends oxUBase {
public function init() {
parent::init();
$this->_sThisTemplate = 'noyzfilter.tpl';
}
public function render() {
parent::render();
print_r($_POST);
if (isset($_POST['action']) && !empty($_POST['action'])) {
$action = $_POST['action'];
switch ($action) {
// case 'evaluateAjaxRequest' : evaluateAjaxRequest($_POST['checkedItems'], $_POST['categories']);
case 'evaluateAjaxRequest' : $this->_aViewData[filter] = "Hat funktioniert";
break;
}
} else {
$this->_aViewData[filter] = $this->generateFilterContent();
}
return $this->_sThisTemplate;
}
...
}
Den AJAX-Aufruf über jQuery:
$.ajax({
type: "POST",
data: {
action: 'evaluateAjaxRequest',
checkedItems: checkedItems,
categories: categories
},
url: "modules/noyz/noyzfilter/views/noyzfilter.php",
// url: "modules/noyz/noyzfilter/views/ajaxResponder.php",
success: function(data) {
data = eval(data);
...
}
Besten Dank und freundliche Grüsse
Daniel