Quantcast
Channel: OXID Community Forum
Viewing all articles
Browse latest Browse all 6951

Bei FinalizeOrder neuer Artikel hinzufügen

$
0
0
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)
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();
    }


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

Viewing all articles
Browse latest Browse all 6951

Trending Articles