Hallo Community
Ich arbeite zurzeit an einem Modul, welches die vorgezogenen Recycling (vrg) und Entsorgungsgebühren (veg) berechnet und in den Warenkorb legt. Der erste Schritt ist getan und die Gebühren werden im Warenkorb angezeigt und korrekt berechnet.
Die VRG und VEG werden im Warenkorb wie folgt angezeigt:
Summe Artikel (netto) 283.95 CHF
zzgl. MwSt. 8% Betrag 22.72 CHF
Summe Artikel (brutto) 306.67 CHF
Versandkosten (netto) 11.00 CHF
plus MwSt. (anteilig berechnet): 0.88 CHF
Vorgezogene Recycling-Gebühren (VRG) 0.28 CHF
Vorgezogene Entsorgungsgebühren (VEG) 0.55 CHF
zzgl. MwSt. für Gebühren 0.07 CHF
Gesamtsumme 319.45 CHF
Nun zum eigentlichen Problem:
Der Oxidshop wird über eine Schnittstelle mit einem ERP System verbunden, was auch tadellos funktioniert. Damit die Gebühren im ERP erfasst werden können, gibt es jeweils einen Artikel für die VEG und VRG in den beiden Systemen.
Nun habe ich gesehen, dass beim Bestellprozess ganz am Schluss die Funktion execute() der Klasse order ausgeführt wird. Ich habe ein Modul geschrieben, welches diese Klasse erweitert: (dient nur Testzwecken)
Beim Ausführen der Bestellung erscheint nach dem 4. Punkt nur noch eine weisse Seite und ich habe leider keinen Anhaltspunkt woran dies liegt. Wahrscheinlich kann der erzeugt Artikel nicht dem Warenkorb hinzugefügt werden. Welche Punkte müssen erfüllt sein, damit ein Artikel dem Warenkorb hinzugefügt werden kann?
Grüsse
Noyz
Ich arbeite zurzeit an einem Modul, welches die vorgezogenen Recycling (vrg) und Entsorgungsgebühren (veg) berechnet und in den Warenkorb legt. Der erste Schritt ist getan und die Gebühren werden im Warenkorb angezeigt und korrekt berechnet.
Die VRG und VEG werden im Warenkorb wie folgt angezeigt:
Summe Artikel (netto) 283.95 CHF
zzgl. MwSt. 8% Betrag 22.72 CHF
Summe Artikel (brutto) 306.67 CHF
Versandkosten (netto) 11.00 CHF
plus MwSt. (anteilig berechnet): 0.88 CHF
Vorgezogene Recycling-Gebühren (VRG) 0.28 CHF
Vorgezogene Entsorgungsgebühren (VEG) 0.55 CHF
zzgl. MwSt. für Gebühren 0.07 CHF
Gesamtsumme 319.45 CHF
Nun zum eigentlichen Problem:
Der Oxidshop wird über eine Schnittstelle mit einem ERP System verbunden, was auch tadellos funktioniert. Damit die Gebühren im ERP erfasst werden können, gibt es jeweils einen Artikel für die VEG und VRG in den beiden Systemen.
Nun habe ich gesehen, dass beim Bestellprozess ganz am Schluss die Funktion execute() der Klasse order ausgeführt wird. Ich habe ein Modul geschrieben, welches diese Klasse erweitert: (dient nur Testzwecken)
PHP Code:
class oxorderext extends order {
public function execute() {
$oBasket = $this->getSession()->getBasket();
//Initialisierung und Laden des VRG Artikels
$oArticle = oxNew('oxarticle');
$oArticle->load("37");
// Initialiserung des oxBasketitems für die benötigten Einstellungen von getSelList und getPersParams
$oBasketItem = oxNew('oxbasketitem');
$oBasketItem->init($oArticle->getProductId(), 1);
//Setzen des Preises
$oBasketItem->setPrice(5.0);
//Hinzufügen des oxBasketItems
try {
$oSelList = $oBasketItem->getSelList();
$oBasket->addToBasket($oArticle->getProductId(), 1, $oSelList, $oBasketItem->getPersParams(), true);
} catch (oxArticleException $oEx) {
// caught and ignored
print_r($oBasketItem);
}
//Fortsetzen des Abschlussprozessess
return parent::execute();
}
}
Grüsse
Noyz