@fall2out
Ich bin noch Laie in Isotope. Aufgrund eines aktuellen Projekts mit ähnlicher Problemstellung beschäftige ich mich auch gerade damit.
Wäre es nicht auch denkbar, ohne eigene ProduktKlasse auszukommen?
Ein Attribut Kubikmeter-Preis anlegen sowie drei Textfelder (Länge, Breite, Höhe). Als Preis z.B. 0 Euro eintragen (oder einen Mindestpreis bzw. ab xx Euro).
Mittels calculatePrice Hook den Preis berechnen.
Problem:
Der Preis muss einmal anhand der drei Eingabefelder und einmal (im Warenkorb) aufgrund der Daten im Warenkorb (static:bjCart) berechnet werden.
Hier muss also geprüft werden, wo man sich gerade befindet (Vorhandensein von entsprechenden Eingabefelder, z.B. AJAX_PRODUCT?)
Beim ProductReader wird dann per AJAX bei jeder Änderung der Eingabefelder (z.B. mit SimpleAjax) der Preis ermittelt und das entsprechende Preis-Feld aktualisiert. Beim Warenkorb wird halt nur der Preis berechnet und zurückgegeben:
PHP-Code:
// im ProductReader
$objProduct = Product::findAvailableByIdOrAlias(\Haste\Input\Input::getAutoItem('product'));
// bzw. im Warenkorb
$objProduct = Product::findAvailableByIdOrAlias($objSource->pid);
$objPrice = $objProduct->objPrice;
$objPrice->generate();
// jetzt die Ajax Ausgabe oder Wert zurückgeben
Ab irgendeinem Zeitpunkt wird das Produkt dann ja in den Warenkorb gelegt. Soweit bin ich mit meinen Überlegungen aber noch nicht.
Scheinbar wird hier aber auch der Hook ausgeführt.
Oder liege ich so falsch?
Lesezeichen