oxOrderArticle->getSize() Function 'getSize' does not exist or is not accessible! (oxOrderArticle)

Reproduzierbar, wenn man Grösse als Bedingung einer Versandkostenregel verwendet.

/application/models/oxdelivery.php(246): oxOrderArticle->getSize()

das oxOrderArticle Objekt hat in version 4.9.2. keine Methode getSize()

so sollte sie (wahrscheinlich) aussehen:

    /**
     * Return Size of product: length*width*height
     *
     * @return double
     */
    public function getSize()
    {
        $dSize = $this->oxorderarticles__oxlength->value *
                 $this->oxorderarticles__oxwidth->value *
                 $this->oxorderarticles__oxheight->value;

        return $dSize;
    }

“reproduzierbar” bedeutet "wenn es im OXID Demoshop reproduzierbar ist"
im eigenen Shop zählt es nicht.

Und nein, ich kann es weder in meinem dev Shop, noch im offiziellen OXID Demoshop reproduzieren.
Ich vermute, du hast deine oxdelivery.php entweder selbst oder durch ein Modul kaputtgemacht, denn dort müsste $oProduct->getSize() stehen, wobei $oProduct das entsprechende oxArticle zum BasketItem ist.

lass small oxchckversion drüberlaufen oder vergleiche die Datei manuell mit der Originaldatei

es knallt wenn man bestellung=>stamm aufruft.

oxdelivery will oxorderarticle instanzen abfragen. oxorderarticle hat auch diese drei properties, aber es fehlt einfach der getter dazu. natürlich habe ich testweise alle meine module deaktiviert.

$oProduct->getSize()

das stimmt, aber $oProduct ist ein orderarticle, in oxarticle gibt es den getter.

auch unter Bestellung -> Stamm knallt bei mir nichts.

Dann bitte ausführlich und in ganzen Sätzen, wie man dieses Problem reproduzieren kann.

Hört sich danach an:

http://forum.oxid-esales.com/showthread.php?t=25134#post151891

https://bugs.oxid-esales.com/view.php?id=5942

komisch, in unserem 4.9.2er Shop ist dieser Code drin

if ($oProduct->isOrderArticle()) {
            $oProduct = $oProduct->getArticle();
        }

aber in der Docu ist es in der Tat nicht vorhanden.

das ist doch nicht so schwer zu verstehen, aber gut

  1. versandkostenregel mit bedingung gewicht einstellen, so dass die regel
    auf einen testartikel auch anspringt :

grösse => 0.1 <= 999

  1. testartikel mit grösse 1m x 1m x 1m bestellen !

  2. bestellung => stamm (dort wo oxdelivery instantiiert wird)

execption log:

oxSystemComponentException-oxException (time: 2015-03-02 15:05:28): [0]: Function 'getSize' does not exist or is not accessible! (oxOrderArticle)
 
 Stack Trace: #0 /var/www/application/models/oxdelivery.php(246): oxSuperCfg->__call('getSize', Array)
#1 /var/www/application/models/oxdelivery.php(246): oxOrderArticle->getSize()
#2 /var/www/application/models/oxdelivery.php(403): oxDelivery->getDeliveryAmount(Object(oxBasketItem))
#3 /var/www/application/models/oxdeliverylist.php(264): oxDelivery->isForBasket(Object(oxBasket))
#4 /var/www/application/models/oxorder.php(1625): oxDeliveryList->getDeliveryList(Object(oxBasket), Object(oxUser), 'a7c40f631fc9206...')
#5 /var/www/application/controllers/admin/order_main.php(63): oxOrder->getShippingSetList()
#6 /var/www/core/oxshopcontrol.php(471): Order_Main->render()
#7 /var/www/core/oxshopcontrol.php(353): oxShopControl->_render(Object(Order_Main))
#8 /var/www/core/oxshopcontrol.php(126): oxShopControl->_process('order_main', NULL, NULL, NULL)
#9 /var/www/core/oxid.php(40): oxShopControl->

ja das ist der genannte bug *

http://www.foxido.de/4-90-fehlerbehebung-in-bestellansicht-stamm-im-oxid-admin