Quantcast
Channel: OXID Community Forum - Module
Viewing all articles
Browse latest Browse all 816

Erweiterung oxorder model funktioniert nicht, neues tabellenfeld wird nicht erkannt

$
0
0
Guten Morgen an alle,

ich habe ein Prblem was ich grad nicht mehr richtig nachvollziehen kann.

Ich habe in der Tabelle oxorder ein neue Tabellenfeld amngelegt mit dem Namen MYCOMPANYCOUPONVALUE. Das ist auch in der Tabelle und als Decimal (12,4) angelegt.

Nun erweitere ich das oxorder Model und habe meine Klasse mycompanyOrderModel. Die Klasse und das Objekt werden auch geladen. Beim Debugging, mittels xdubug stand dann in der Variablen, die das Tabellenfeld wieder gibt mein Wert drin. Die Variable sieht so aus.

PHP Code:

$this->oxorder__mycompanycouponvalue = new oxField($this->_mycompanySession->getVar('price')); 

Nachdem ich Core Code verfolgen konnte ist dies eigentlich richtig, jedoch wird beim bestellen mein Modulewert nicht in die Tabelle geschrieben, es bleibt 0,0000 drin stehen.

Hier der komplette Code meines mycompanyOrderModel

PHP Code:

class mycompanyOrderModel extends mycompanyOrderModel_parent
{
    protected 
$_mycompanySession;
    
    public function 
__construct()
    {
        
$this->_mycompanySession = new oxSession('mycompany');
        
$this->oxorder__mycompanycouponvalue = new oxField($this->_mycompanySession->getVar('price'));
        
parent::__construct();
    }
    
    public function 
finalizeOrder(oxBasket $oBasket$oUser$blRecalculatingOrder false)
    {
        return 
parent::finalizeOrder($oBasket$oUser$blRecalculatingOrder);
    }


So und hier der ersetzende Aufruf im oder überladenen Order Controller mycompanyOrder in der Methode execute().

PHP Code:

try {
//                 $oOrder = oxNew( 'oxorder' );
                
$oOrder = new mycompanyOrderModel();
        
                
// finalizing ordering process (validating, storing order into DB, executing payment, setting status ...)
                
$iSuccess $oOrder->finalizeOrder$oBasket$oUser ); 

Wie komme ich im execute() Prozess an die Order ID des gerade frisch gespeicherten Orders heran?

Kann mir bitte einer sagen warum mein Wert da nicht in die Tabelle eingetragen wird?

Danke Gruß Daniel

Viewing all articles
Browse latest Browse all 816

Latest Images

Trending Articles