Wenn Lieferzeit "download" bleibt der Warenkorb weiß

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.385
263
Scheinbar gibt es hier einen Fehler in der Funktion "getDeliveryTime", als dass mit einer Lieferangabe die keine Numerischen Werte enthält nicht kalkuliert werden kann. Ergo schießt der Warenkorb mit Weiß ins Aus.
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.385
263
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Warum ist die Banane krumm? Weil es Betreiber gibt die das eben so angeben :) Lieferstatus (so wie es im Warenkorb angegeben wird) ist nunmal auch nicht als Zeitangabe zu verstehen sondern auch als Begrifflichkeit und da passt vom Wording und Verständnis nunmal auch "Download". Der Punkt ist, wenn es die Möglichkeit gibt da geliebiges einzutragen, muss eben auch beliebiges berücksichtigt werden.
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.385
263
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Fatal error: Call to a member function getDeliveryTime() on a non-object in .../classes/class.JTL-Shop.Warenkorb.php on line 1087

Code:
$oPosition->cEstimatedDelivery = $oPosition->Artikel->getDeliveryTime($_SESSION["cLieferlandISO"], $oPosition->nAnzahl);
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
9
Thailand, Bangkok
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Der Error sagt nicht, dass er die Funktion nicht kennt, sondern das er eine Objekt erwartet...

Such doch Mal nach "function getDeliveryTime(" in den Shopdateien und sieh dir an was die Funktion den genau macht.
Der oben zietierte Code ist original oder von dir geschrieben?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.385
263
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Das ist die Original Zeile die den Fehler wirft. Natürlich hab ich mir die Funktion schon angeschaut, daher ja auch die Vermutung dass er mit dem hinterlegten Wert des Lieferstatus nix anfangen kann. Betroffene Funktion befindet sich in der class.JTL- Shop.Artikel.php

Code:
public function getDeliveryTime($countryCode, $purchaseQuantity = null, $stockLevel = null, $languageISO = null)
    {
        if(!isset($languageISO))
        {
            //Language-Fallback fuer Exportformate - #6663. ToDo: Abfrage der aktuellen Sprache in Session-Class oder System-Class auslagern
            if (!isset($_SESSION['cISOSprache'])) {
                $oSprache = gibStandardsprache(true);
                $_SESSION['cISOSprache'] = $oSprache->cISO;
            }
            $languageISO = $_SESSION['cISOSprache'];
        }
        
        if (isset($purchaseQuantity)) {
            $purchaseQuantity = (float) $purchaseQuantity;
        } else {
            $purchaseQuantity = $this->fAbnahmeintervall > 0 ? $this->fAbnahmeintervall : 1; // + $this->getPurchaseQuantityFromCart();
        }
        
        if (!is_numeric($purchaseQuantity) || $purchaseQuantity <= 0) {
            $purchaseQuantity = 1;
        }
        
        if (isset($stockLevel) && is_numeric($stockLevel)) {
            $stockLevel = (float) $stockLevel;
        } else {
            $stockLevel = $this->fLagerbestand;
        }
        
        $favShipping = $this->getFavourableShipping($countryCode);

        if ($favShipping === null || $this->inWarenkorbLegbar <= 0) {
            return '';
        }
        //set default values
        $estimatedDelivery = ''; //$favShipping->oVersandartSprache_arr[$languageISO]->cLieferdauer;
        $processingTime = 0;
        $minDeliveryDays = (strlen(trim($favShipping->nMinLiefertage)) > 0) ? intval($favShipping->nMinLiefertage) : 2;
        $maxDeliveryDays = (strlen(trim($favShipping->nMaxLiefertage)) > 0) ? intval($favShipping->nMaxLiefertage) : 3;
        
        if ($this->FunktionsAttribute['processingtime'] > 0) {
            $processingTime = intval($this->FunktionsAttribute['processingtime']);
            $minDeliveryDays += $processingTime;
            $maxDeliveryDays += $processingTime;
        }
        
        // product available in the future?
        if ($this->nErscheinendesProdukt && strtotime($this->dErscheinungsdatum) > time()) {
            $minDeliveryDays += calculateDaysBetween($this->dErscheinungsdatum, date('Y-m-d', time()));
            $maxDeliveryDays += calculateDaysBetween($this->dErscheinungsdatum, date('Y-m-d', time()));
        }
        else 
        if ($this->cLagerBeachten == "Y" && ($stockLevel <= 0 || ($stockLevel - $purchaseQuantity < 0))) {
            if ($this->FunktionsAttribute['deliverytime_outofstock'] > 0) { //prio on attribute "deliverytime_outofstock" for simple deliverytimes
                $deliverytime_outofstock = intval($this->FunktionsAttribute['deliverytime_outofstock']);
                $minDeliveryDays = $deliverytime_outofstock; //overrides parcel and processingtime!
                $maxDeliveryDays = $deliverytime_outofstock; //overrides parcel and processingtime!
            } else if ($this->FunktionsAttribute['supplytime'] > 0) { //attribute "supplytime" for merchants who do not use JTL-Wawis purchase-system
                $supplyTime = intval($this->FunktionsAttribute['supplytime']);
                $minDeliveryDays += $supplyTime;
                $maxDeliveryDays += $supplyTime;
            } else if ($this->fZulauf > 0 && strtotime($this->dZulaufDatum) >= time()) { // supplierOrder incoming?
                $minDeliveryDays += calculateDaysBetween($this->dZulaufDatum, date('Y-m-d', time()));
                $maxDeliveryDays += calculateDaysBetween($this->dZulaufDatum, date('Y-m-d', time()));
            } else if ($this->fLieferzeit > 0 && !$this->nErscheinendesProdukt) { //product 
                $minDeliveryDays += intval($this->fLieferzeit);
                $maxDeliveryDays += intval($this->fLieferzeit);
            }
        }
        
        //set estimatedDeliverytime text
        $estimatedDelivery = getDeliverytimeEstimationText($minDeliveryDays, $maxDeliveryDays);

        $this->nMinDeliveryDays = $minDeliveryDays;
        $this->nMaxDeliveryDays = $maxDeliveryDays;
        return $estimatedDelivery;
    }
 

boaa-group

Sehr aktives Mitglied
28. Dezember 2007
4.932
9
Thailand, Bangkok
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

In der Funktion sehe ich nirgends den Aufruf des "Lieferstatus".

Tritt der Fehler bei JTL-Shop3 ohne Anpassungen unter Verwendung des Tiny Templates ebenfalls auf (alle Plugins deaktivieren)?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.385
263
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Eigentlich hatte ich sämtliche Szenarien schon getestet, aber lokal funktioniert es mit der Darstellung, selbe Shopversion, daher schließe ich einen Bug im System an sich aus. Muss also irgendwo im Template oder beim Update was verwurstet worden sein. Ich prüfe das und melde mich dann nochmal.
 

frijk

Gut bekanntes Mitglied
16. Juni 2009
217
6
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Hallo,

habe bei Produkten mit Konfigurator die gleiche Fehlermeldung. Bist du dem ganzen schon näher auf die Spur gekommen?

Danke vorab,
Michael

Edith ergänzt: Auch mit komplett deaktivierten Plugins sowie Tiny mit deaktivierten _custom.tpl - Fehler ist trotzdem vorhanden. Hosting bei JTL
 

tafechner

Offizieller Servicepartner
SPBanner
31. Juli 2010
784
103
Berlin
AW: Wenn Lieferzeit "download" bleibt der Warenkorb weiß

Hallo an alle, wir hatten dieses Problem nun genauer untersucht und folgende Lösung gefunden.

Anpassen der class.JTL- Shop.Warenkorb.php -> Bitte ACHTUNG ist nicht update fähig, nur Notlösung

PHP:
/* angepasst com-ins-netz.de */
//if($oPosition->nPosTyp == C_WARENKORBPOS_TYP_ARTIKEL) {
if($oPosition->nPosTyp == C_WARENKORBPOS_TYP_ARTIKEL && is_object($oPosition->Artikel)) {
/* /angepasst */

Das Problem tritt bei Konfigurationsartikel auf die keinem Artikel zugeordnet sind, dort ist ja keine Lieferzeit hinterlegt.

Gruss aus Berlin
Torsten
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Wawi 1.8: Was tun, wenn die Listanzeigen waagerecht durchlaufen? JTL-Wawi - Fehler und Bugs 3
Beantwortet Auftrag - Email versenden, wenn sich Inhalt des Anmerkungsfelds ändert JTL-Workflows - Ideen, Lob und Kritik 8
Einschränkungen, wenn keine Verbindung zum Lizenzserver JTL-Wawi 1.8 0
Neu Filtereinstellungen: wenn Sonderpreis bei Vater- oder Kindartikeln, Anzeige von Vater- UND Kindartikeln User helfen Usern - Fragen zu JTL-Wawi 5
Neu Angebotsmail Lieferdatum nicht drucken wenn nicht vorhanden Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
WAWI 1.8.12.0 stürzt ab, wenn die Verbindung zur Datenbank unterbrochen wurde JTL-Wawi 1.8 23
Rechnung zeigt Mehrwertsteuer 0% aus obwohl 7% berechnet werden - wenn UST-ID eingegeben JTL-Wawi 1.8 0
Workflow für Versandart Wenn/Und JTL-Wawi 1.7 0
Info wenn Artikel mit Bestand leer geht JTL-Wawi 1.8 1
Neu Wenn Rabatt als Zeile auf Rechnung steht, fliegt der Gesamtwert weg.. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Beantwortet WF Mail wenn Amazon Artikel nicht verknüpft ist JTL-Workflows - Ideen, Lob und Kritik 1
Neu wenn abweichende Adresse dann nur weiße Seite? JTL-Shop - Fehler und Bugs 7
Neu Workflow Ereignis auslösen wenn alle Bedingungen erfüllt sind. Sonst anderes Ereignis auslösen. JTL-Wawi - Ideen, Lob und Kritik 0
Neu Artikel werden nicht mehr aktualisiert, wenn sie sich auf Pickliste befinden JTL-Ameise - Fehler und Bugs 1
Neu Lieferzeit in der Bestellbestätigung (Shop) ohne Berücksichtigung der Werktage. Wie korrigieren? JTL-Shop - Ideen, Lob und Kritik 6
Neu - Lieferzeit in Wochen / Monaten statt Tagen SHOP-4080 - wo finde ich diese Möglichlichkeit im Admin Bereich Installation / Updates von JTL-Shop 2
Neu Lieferanten "Lieferzeit in Tagen" ändert sich automatisch Arbeitsabläufe in JTL-Wawi 0
Neu Richtige Hook zum Berechnen der Lieferzeit in Artikel.php Technische Fragen zu Plugins und Templates 1
JTL WaWi Download nicht möglich JTL-Wawi 1.8 3
Download Wawi Version 1.8.5.1 JTL-Wawi 1.8 5
Hosted (gehostete?) Datenbank Download Zweitgerät für unterwegs JTL-Wawi 1.8 13
Standardvorlagen Download möglich? JTL-Wawi 1.7 2
Neu Suche Download JTL WAWI 1.3.20.0 User helfen Usern - Fragen zu JTL-Wawi 8
Neu Download-Arikel werden im Backend des Kunden nicht angezeigt JTL-Shop - Fehler und Bugs 1

Ähnliche Themen